Aus was besteht ein Von-Neumann-Rechner? Was ist die Abgrenzung davon?
- CPU (Leit- + Rechenwerk)
- Bussystem
- Ein-/Ausgabesystem
- Speicher
Abgrenzung: Harvard-Architektur
Welche Betriebssystemkategorien gibt es?
- Großrechner
- Serverbetriebssyteme
- PC-BS
- Echtzeit-BS
- Embedded Systems
- BS für Tablets und Handys
- Smartcard-BS
Welche 3 Grundfunktionen hat das BS?
- Entlastung Anwender von Details der HW
- Kapselung des Betriebsmittelzugriffs
- Betriebsmittelverwaltung
Was sind Betriebsmittel? Was sind Beispiele dafür?
- Hard-/Softwareressourcen eines Computersystems
- HW: Speicher, Prozessor, CPU
- SW: Daten, Treiber, Netzwerk
Wie können Betriebsmittel unterschieden werden?
Was hat das BS diesbezüglich für eine Aufgabe?
Was hat das BS diesbezüglich für eine Aufgabe?
reale | virtuelle |
entziehbare | nicht entziehbare |
exklusiv nutzbare | shared nutzbare |
BS sorgt dafür, dass exklusive Betriebsmittel konfliktfrei genutzt werden
Was ist der Betriebssystemkern (Kernel)?
- umfasst Dienste des BS, die möglichst immer im Hauptspeicher geladen sein sollten
- Memory Manager, Prozess-Manager, File-Manager
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
Was ist ein Mikrokernel?
- Entlastung des Kernels durch Übernahme von Funktionalität in Anwendungsprozesse
- Mikrokernel übernimmt Kommunikation zwischen Anwendungs- und Serverprozessen
- geringe Performance
Was ist die Definition von Virtualisierung? Was kann virtualisiert werden?
- Abstraktion von Ressourcen mit Hilfe von Software
- virtuelles System verhält sich wie reales System
- Dateisystem, Speicher, Maschine...
Was sind Vorteile der Betriebssystemvirtualisierung?
- weniger Hardware notwendig
- weniger Stromverbrauch
- Flexibilität bei Aufbau einer Infrastruktur
- vereinfachte Wartung
- gute Auslastung
Was sind Nachteile der Betriebssystemvirtualisierung?
- Overhead 5-10%
- schwierig bei spezieller Hardware
- bei Ausfall des physikalischen Servers fallen mehrere virtuelle aus --> hohe Anforderungen an Ausfallsicherungskonzept
Was ist Partitionierung?
- Gesamtsystem wird in Teilsysteme mit lauffähigen BS-Instanzen aufgeteilt
- Ressourcen werden den VMs über Firmware zugeordnet
Was ist vollständige Virtualisierung mit Typ-2 Hypervisor?
- Hypervisor als Benutzerprogramm über Gastgeber-BS
- Hardware wird emuliert
- mehr Overhead als bei Typ-1 Hypervisor
Was ist Paravirtualisierung?
- Hypervisor ist reduziertes Meta-BS
- modifiziertes Gast-BS
Was ist Hardwarevirtualisierung?
- CPU unterstützt direkt die Virtualisierung
- neue Hypervisor-Schicht
- Hypervisor läuft im root-Modus
- Gastbetriebssysteme müssen nicht angepasst werden
Was ist Virtualisierung per Container?
- kein zusätzliches Gastbetriebssystem
- alles läuft im Gastgeberbetriebssystem (Kernelmodus)
- im Container laufen die Anwendungen
- alle Container müssen das gleiche Gastgeber-BS verwenden
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 macht ein echt verteiltes BS?
- macht Verteilung der Services im Netz für Clientprozess transparent
Was ist das Client-/Server-Modell?
- jeder Rechnerknoten hat Kernel, der Kommunikationsmechanismen enthält
- Client merkt nicht, wo Service Request ausgeführt wird
Was ist Polling (Busy Waiting)?
aktives Abfragen von Ereignisquellen zyklisch der Reihe nach
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 können Interrupts klassifiziert werden?
- asynchrone (nicht vorhersehbar)
- synchrone (vorhersehbar) Systemcalls (Software-Interrupts) Exceptions Faults: Unterbr. vor Ausführung (Page Fault...) Traps: Unterbr. nach Ausführung (Division durch 0...)
Was ist die Definition eines Interrupts?
BS-Bedingungen oder asynchrone Ereignisse, die Prozessor veranlassen, vordefinierten Code auszuführen, der außerhalb des normalen Programmflusses liegt
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 Systemcalls?
- Einsprungpunkte ins BS
- Programmpunkte nutzen Dienste des BS über Systemcalls
- Schnittstelle der Programme zum Kernel
Was macht ein Hypervisor mit Interrupt Requests?
- Entscheidung, ob IR weitergeleitet (an Gastbetriebssystem), selbst ausgeführt oder ignoriert wird
Was ist ein Prozess?
- Ausführung eines Programms auf Prozessor
- Folge von Aktionen verbunden mit Zustandsänderungen
Was macht das BS im Multiprogramming?
- ordnet jedem Prozess einen virtuellen Prozessor zu
- echt parallel: jeder virtuelle Prozessor hat realen zugeordnet
- quasi parallel: jeder reale Prozessor ist zu einer Zeit immer nur einem virtuellen zugeordnet
Was sind Prozesstabelle und PCB?
- Prozesstabelle: Information, die Prozessverwaltung für Prozesse benötigt
- Eintrag in Tabelle: PCB (Process Control Block) mit Programmzähler, Prozesszustand, Priorität...
Welche Schritte laufen ab, wenn das BS einen Prozess erzeugt?
- Zuordnung: realer Prozessor, Hauptspeicher, weitere Ressourcen
- Programmcode und Daten in Speicher laden
- Prozesskontext laden und Prozess starten
Aus welchen Gründen kann ein Prozess beendet werden?
- normaler exit
- Error exit (unfreiwillig: fatal error)
- durch anderen Prozess beendet (killed)
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 |
Welche Aspekte der CPU-Zuteilung gibt es?
- Zuteilung in Abhängigkeit der Scheduling-Einheit (Prozess-/Thread-basiert)
- Zuteilung in Abhängigkeit des Prozesstyps (CPU-/Ein-/Ausgabe-lastig)
Aus was besteht der Prozessmanager?
- Scheduler: Planung der Betriebsmittelzuteilung
- Dispatcher: Prozesswechsel
Welche Scheduling-Ziele gibt es?
- Fairness
- Effizienz
- Antwortzeit
- Verweilzeit (Durchlaufzeit)
- Durchsatz
Was bedeutet Zeitscheibenverfahren (Timesharing)?
CPU-Zuteilung an anderen Prozess durch BS, wenn
- Zeitscheibe abgelaufen ist
- Priorität zu niedrig ist
Welche grundlegenden Scheduling-Verfahren gibt es?
Non-Preemptive Scheduling
Preemptive Scheduling
- Prozess wird nicht unterbrochen, bis er fertig ist
Preemptive Scheduling
- rechenbereite Prozesse werden suspendiert
- Zeitscheibentechnik erforderlich
Wie kann die Ausführungseinheit eines Prozesses/Threads enden?
- Interrupt
- Warten auf Eingabe (systemcall)
- Zeitscheibe abgelaufen (preemptive)
Welche Scheduling-Algorithmen gibt es in Batch-Systemen? Welches Problem kann auftreten?
- FCFS (First Come First Serve)
- SJF (Shortest Job First)
- SRTN (Shortest Remaining Time Next)
Problem: Verhungern von Prozessen
- Prozesse erhalten CPU nie
Welche Scheduling-Algorithmen gibt es in interaktiven Systemen?
- RR (Round Robin Scheduling): FCFS mit Zeitscheibe
- Priority Scheduling
- SPF (Shortest Process First)
- SRTF (Shortest Remaining Time First)
- Lottery Scheduling
Was ist das dynamische Verfahren beim Scheduling?
- initiale Festlegung des Quantums am Anfang
- dynamische Anpassung je nach Prozesstyp (rechenintensive Prozesse kurz, I/O-intensive Prozesse: lang)
Wie erkennt die CPU, dass eine Zeitscheibe abgelaufen ist?
- Taktgeber erzeugt Interrupt
- ISR des Taktgebers reduziert Quantumzähler in Thread/Prozess
- Quantumzähler = 0: Dispatcher wird aufgerufen
Was ist Multi-Level-Scheduling?
- Multiple Warteschlangen: Multi-Level-Scheduling mit mehreren Arten von Jobs unterschiedlicher Priorität (Systemprozesse, Interaktive Prozesse...)
- Multi-Level feedback Scheduling: Prozess kann auch in Warteschlange höherer Ordnung wechseln
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 ist Nebenläufigkeit?
- parallele oder quasi-parallele Ausführung von Befehlsfolgen in Prozessen und Threads
- Verdrängung durch BS möglich
Was ist ein kritischer Abschnitt?
nur ein Prozess/Thread darf sich dort aufhalten (Unterbrechung durch Verdrängung möglich)
Was sind Race Conditions?
- mehrere Prozesse nutzen gemeinsames Betriebsmittel verändernd
- Änderung nicht atomar
- Endergebnis von zeitlicher Reihenfolge abhängig (lost update möglich)
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 Semaphore und wie funktioniert es?
Konzept zur Lösung des Mutual-Exclusion-Problems
Passieren
Verlassen
Passieren
- Aufruf bei Eintritt in kritischen Abschnitt
Verlassen
- Aufruf bei Verlassen des kritischen Abschnitts
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
Wie können Deadlocks behandelt werden?
- Ignorieren
- Erkennen und beheben
- Dynamisches Verhindern
- Vermeiden
Wie können Threads/Prozesse kommunizieren?
- speicherbasiert: in einem Adressraum, aus getrennten Adressräumen über Dateiaustausch
- nachrichtenbasiert über Kommunikationsdienste
Was ist eine Pipe?
- unidirektionaler Mechanismus zur Kommunikation
- Verbindung Standardeingabe und -ausgabe zweier Prozesse
- blockierend: wenn Pipe voll ist, blockiert Sendeprozess; wenn Pipe leer ist, blockiert Leseprozess
Was sind die Aufgaben der MMU?
- Versorgung der Prozesse mit Arbeitsspeicher durch MMU
- Verwaltung freie und belegte Speicherbereiche
Was ist das Lokalitätsprinzip?
- zeitlich: gerade benutzte Codebereiche werden gleich wieder benutzt
- örtlich: nächster Zugriff wahrscheinlich in Nähe der vorherigen
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 bedeutet virtueller Speicher?
- Speichergröße eines Programms darf physikalischen Hauptspeicher überschreiten
- Prozess kann auch ablaufen, wenn er nur teilweise im Hauptspeicher ist (Rest auf Festplatte)
Welche Strategien zur Verwaltung virtueller Speicher gibt es?
- Abrufstrategie
- Austauschstrategie
- Speicherzuteilungsstrategie
- Aufräumstrategie
Wie funktioniert die Abrufstrategie?
- Abruf von Daten und Programmen aus externen Speichern wird Prozess überlassen
- Programm stellt Anforderung nach neuer Seite an BS
Was sind Pages und Frames?
- Page: logische Adresse
- Frame: physikalische Adresse
- nur wirklich benötigte Speicherseiten müssen in ASP geladen werden
- Größe der Seiten meist gering
Was macht die MMU?
Umwandlung virtuelle Adressen an physikalische Adressen (diese werden an Hauptspeicher gesendet)
Was ist der Translation Lookaside Buffer (Assoziativspeicher)?
- Erweiterung der MMU: kleine Tabelle mit direkter Angabe der physikalischen Adresse
- erst wird TLB abgefragt, dann Seitentabellen
- Prinzip: viele Zugriffe auf wenige Pages
Was sind Vorteile des virtuellen Speichers?
- Prozesse müssen nicht komplett im Speicher sein, um ablaufen zu können
- beim Prozesswechsel behält Prozess hauptspeicherresidenten Seiten
- Speicherschutzmechanismen einfach zu realisieren
Was ist die Austauschstrategie? Was ist Paging?
- HSP voll, aber Prozess braucht Speicher: anderer Prozess wird in Paging Area ausgelagert (Paging)
Welche unterschiedlichen Seitenersetzungsalgorithmen bei einem Page Fault gibt es?
- Belady: die, die am spätesten in Zukunft benutzt werden
- FIFO
- Second-Chance
- Clock Page
- NRU
- LRU
- NFU
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)
Was ist bezüglich Fragmentierung wichtig?
- Fragmentierung ist zu vermeiden (intern/extern)
- Suche nach freiem Bereich per Buddy-Technik möglich (Halbierung solange, bis Bereich gerade in Teilbereich passt, bei HSP-Freigabe werden Rahmen wieder zusammengefasst)
Was ist die Aufräumstrategie? Welche Varianten gibt es?
- legt den Zeitpunkt fest, wann modifizierte Seite ausgelagert/gelöscht wird
Varianten
- Demand-Cleaning: bei Bedarf
- Precleaning: präventiv, wenn Zeit ist
- Page-Buffering: Listen verwalten
Welche Aufgabe hat der I/O-Manager?
- optimierte Verwaltung von externen Ein-/Ausgabegeräten
- Schnittstelle zwischen Geräten und Rest des BS
- Ausgabe von Kommandos an externe Geräte
- Interruptbearbeitung
- Fehlerbehandlung
Was sind Treiber und ihre Aufgaben?
- gerätespezifische Programmteile
- meist durch Hersteller realisiert
Aufgaben
- Initialisierung des Geräts
- Datenübertragung von und zu einem Gerät
- Pufferung von Daten
- Interruptbearbeitung
Welche Gerätearten gibt es?
- zeichenorientierte
- blockorientierte
- sonstige (clock...)
- Geräte mit wahlfreiem Zugriff (Plattenspeicher...)
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 sind Geräte mit seriellem Zugriff?
- Lesen und Schreiben Zeichen für Zeichen
- keine Adressierungsinformation notwendig
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 ist RAID? Wie sind die Platten dort aufgebaut?
- mehrere kleine Platten werden als große virtuelle Platte verwaltet
- bleibt für BS und Prozesse transparent
- verbessert Leistung und/oder erhöht Ausfallsicherheit
- logischer Plattenbereich wird in Streifen eingeteilt
Wie funktioniert RAID 0?
- Schreib- und Leseoperationen parallel über mehrere Platten eines Arrays verteilt
- Größe der Stripes beeinflusst Leistung
- Verteilung durch BS oder RAID-Controller
- Verbesserung I/O-Leistung, nicht sicherer, keine Redundanz
Wie funktioniert RAID 1?
- Spiegelung der Daten
- ausfallsicher, aber langsamer in Schreibzugriffen
- Redundanz 50% der Kapazität (bei 2 Platten)
- Ausfall einer Platte: Daten bleiben erhalten
Wie funktioniert RAID 4?
- Striping und Ergänzung von Prüfdaten zur Fehlerkorrektur
- Rekonstruktion von Daten, wenn Platte ausfällt
- Redundanz 25% bei 4 Platten
- langsam beim Schreiben, schnell beim Lesen
Wie funktioniert RAID 5?
- heute Standard
- wie RAID 4, aber Paritätsstripes werden über Platten verteilt
- sicherer als RAID 4, gleiche Vor- und Nachteile
Wie funktioniert RAID 6?
- wie RAID 5, aber mit 2 Paritätsstripes
- verträgt gleichzeitigen Ausfall von 2 Platten
- etwas langsamer als RAID 5
Wie funktioniert RAID 10?
- Kombination von RAID 0 und RAID 1
- schnell und ausfallsicher
- Redundanz 50%
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 |
Was ist vollständige Virtualisierung mit Typ-1 Hypervisor?
- Hypervisor direkt über Hardware als Minibetriebssystem
- Hypervisor im Kernelmodus
Kartensatzinfo:
Autor: @destructive_influen...
Oberthema: Betriebssysteme
Thema: Betriebssysteme
Schule / Uni: DHBW
Ort: Stuttgart
Veröffentlicht: 27.04.2016
Tags: Gödde
Schlagwörter Karten:
Alle Karten (90)
keine Schlagwörter