Was ist der Unterschied zwischen User- und Kernelmodus? Wie wird dazwischen umgeschalten?
Usermodus | Kernelmodus |
nichtprivilegiert | privilegiert |
für Anwendungsprogramme | für Kernelprogramme |
kein Zugriff auf kernelspezifische Programmbereiche | Schutz der Datenstrukturen des Kernels |
Umschaltung über spezielle Maschinenbefehle
Nach was können Betriebsarten unterteilt werden?
zeitliche Programmabwicklung | ||
Stapelverarbeitung (Batchprocessing) | Interaktive Verarbeitung) | |
Anzahl der Prozessoren | ||
Einprozessorbetrieb | Mehrprozessorbetrieb | |
Steuerungsart | ||
Online-Betrieb | Offline-Betrieb | |
räumliche Verteilung der Hardware | ||
lokale Datenverarbeitung | Datenfernverarbeitung | Verteilte Datenverarbeitung |
Programmnutzung | ||
Teilnehmerbetrieb | Teilhaberbetrieb (Transaktionsmonitor) | |
Benutzerzugang | ||
offener Betrieb | geschlossenes System |
Was ist ein Interrupt? Welche Gründe und Verursacher gibt es? Wo ist der Unterschied zwischen synchronen und asynchronen?
- Gründe: Betriebssystembedingungen, asynchrone Ereignisse
- Verursacher: Hardware oder Software
synchrone | asynchrone |
von der CPU ausgelöst | treten unabhängig davon auf, was System ausführt |
Division durch Null |
Wie läuft die Interrupt-Bearbeitung ab?
- Interrupt tritt auf
- Laufender Maschinenbefehl wird noch zu Ende geführt, Interrupts werden deaktiviert, Registersatz wird auf Stack gerettet
- Programm adressiert Interrupt über Interrupt-Vektortabelle (an ISR)
- Ausführung der ISR
- Alter Zustand wird wiederhergestellt
- Normale Programmbearbeitung wird fortgesetzt
Was sind Threads? Welche Eigenschaften und Gründe für Threads gibt es?
- leichtgewichtige Prozesse
- nutzen gemeinsame Ressourcen des Prozesses
- mehrere Threads: Multithreading
- nicht gegeneinander geschützt -> Synchronisierung erforderlich
- können auf Benutzer- oder Kernelebene implementiert werden Gründe
- Nutzung gemeinsamer Adressraum durch Prozesse
- Thread-Kontext-Wechsel schneller als Prozess-Kontext-Wechsel
- Parallelisierung Prozessorarbeit
Worin unterscheiden sich die Implementierungsvarianten für Threads?
Benutzerebene | Kernelebene |
Thread-Bibliothek: Scheduling + Dispatching | Prozess nur noch Verwaltungseinheit für Betriebsmittel |
Scheduling-Einheit: Prozess | Scheduling-Einheit: Thread |
Kernel merkt nichts von Threads | |
ein blockierender Thread blockiert Prozess | blockierender Thread blockiert Prozess nicht |
Was passiert beim CPU-Scheduling in virtuellen Umgebungen? Welche Verfahren gibt es?
- CPU-Scheduler verteilt physikalische CPUs auf Gastbetriebssysteme
Verfahren
- Credit-Scheduling: vCPUs bekommen Kreditpunkte pro pCPU und werden in run-queue verwaltet)
- Co-Scheduling: wenn pro VM mehrere vCPUs konfiguriert sind muss diese Anzahl bei HW-Zuteilung berücksichtigt werden (strenges/relaxed Co-Scheduling)
Was sind Anforderungen an kritische Prozesse?
- keine zwei Prozesse dürfen gleichzeitig in einem kritischen Abschnitt sein
- keine Annahmen über Abarbeitungsgeschwindigkeit und Anzahl der Prozesse
- ein Prozess darf außerhalb eines krit. Abschnitts einen anderen Prozess nicht blockieren
- kein ewiges Warten am Eingang eines kritischen Abschnitts
Welche Implementierungsvarianten für Sperren gibt es?
busy waiting | Prozess testet Synchronisationsvariable |
Test solange, bis Variable Wert hat, der Zugriff erlaubt | |
Polling oft unwirtschaftlich |
HW-Unterstützung | Synchronisation durch atomare Instruktionsfolgen über nicht unterbrechbare Maschinenbefehle in einem einzigen Speicherzyklus (Test and Set Lock, Swap, Fetch and Add) |
Was ist ein Deadlock? Was sind die Bedingungen?
gegenseitige Behinderung von Prozessen/Threads, deswegen ist keine Programmausführung möglich (gleichzeitiges Warten auf Betriebsmittel)
Bedingungen
Bedingungen
- Mutual exclusion: BM belegt oder frei
- Hold-and-wait: Prozesse belegen BM und fordern weitere an
- No preemption
- Circular waiting
Wo ist der Unterschied zwischen Speicherverwaltung mit Partitionen und Swapping?
Partitionen | Swapping |
Aufteilung Speicher in feste Teile | verwendeter Speicherbereich variiert dynmaisch |
Prozess wird dahin geladen, wo ausreichend Platz ist | |
nach einer gewissen Zeit Auslagerung | |
Löcher werden mit anderen Prozessen gefüllt |
Was sind Prepaging und Working Set?
- Seiten, die noch nicht angefordert wurden, werden in HSP geholt (präventive Einlagerung)
- aktuell benötigte Seitenmenge: Working Set (Annahme: Working Set ändert sich nur langsam, die in nächster Zeit benötigten Seiten sind wahrscheinlich in der Nähe der aktuellen)
Durch was zeichnet sich eine Festplatte aus?
- besteht aus Kunststoff- oder Aluminiumscheiben mit Magnetschicht
- Schreib-/Leseköpfe mit Elektromagneten
- Daten sind als Blöcke fester Größe in Sektoren gespeichert (in Spuren zu finden)
- alle Spuren untereinander = Zylinder
- Kapazität hat sich in letzten Jahren erhöht, Zugriffszeit nicht!
Was ist eine Datei? Was tut das Dateisystem? Was ist ein NFS?
- abstrakter Mechanismus zur Speicherung und Wiederauffinden von Informationen
- persistente Speicherung von Informationen von BS
- Dateisystem verwaltet Dateien
NFS = verteiltes Dateisystem
- verbindet Dateisysteme mehrerer Rechner zu einem logisch zusammengehörigen
Was sind Unterschiede zwischen SAN und NAS?
SAN | NAS |
eigenes Netzwerk zwischen Servern und Storage | Massenspeichereinheiten, die an lokales Netzwerk angeschlossen sind |
zeigt sich gegenüber den Servern als einzige Festplatte | |
blockbasierter Zugriff | datei- oder blockbasierter Zugriff |
Nachteil: teuer, standortgebunden | Nachteil: Netzlast im LAN |
Vorteil: schnell | Vorteil: einfacher Aufbau, günstig |
Flashcard set info:
Author: @destructive_influen...
Main topic: Betriebssysteme
Topic: Betriebssysteme
School / Univ.: DHBW
City: Stuttgart
Published: 27.04.2016
Tags: Gödde
Card tags:
All cards (90)
no tags