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

