Nenne 5 Betriebssystemkategorien!
- Mainframes (IMB OS/390, heute IBM System z)
-Serverbetriebssysteme (Unix, Windows NT/2000/2003/XP)
-Echtzeitbetriebssysteme (VxWorks, QNX)
-PC-Betriebssysteme (Windows-Derivate,Linux)
-Embedden Systems (Steuerungssyteme)
-Handheld-Computer (Palm OS, Windows CE)
-Smartcart-Betriebssysteme
-Serverbetriebssysteme (Unix, Windows NT/2000/2003/XP)
-Echtzeitbetriebssysteme (VxWorks, QNX)
-PC-Betriebssysteme (Windows-Derivate,Linux)
-Embedden Systems (Steuerungssyteme)
-Handheld-Computer (Palm OS, Windows CE)
-Smartcart-Betriebssysteme
Was ist ein Vom-Neumann-Rechner?
Wie unterscheidet er sich von einem Harvard-Rechener?
Wie unterscheidet er sich von einem Harvard-Rechener?
Von-Neumann-Rechner:
4 Funktionseinheiten:
-Leitwerk (Control Unit)
-Rechenwerk (Processing Unit)
-Speicher (Memory)
-Ein-/Ausgabe (Input/Output)
Das Leitwerk("Befehlsprozessor") holt die Maschinenbefehle nacheinander in den Speicher un führt sie aus.
Das Rechenwerk ("Datenprozessor"/ ALU) führt logische und arithmetische Operationen durch.
Maschinenbefehle und die zu verarbeitenden Daten liegen in einem gemeinsamen Speicher.
Heute: Zusammenfassung des Leit- und Rechenwerks zur CPU
Harvard-Rechner:
-2 getrennte Speicher, für Daten und Maschinenbefehle
-beide Speicher werden über einen getrennten Bus mit der CPU verbunden
4 Funktionseinheiten:
-Leitwerk (Control Unit)
-Rechenwerk (Processing Unit)
-Speicher (Memory)
-Ein-/Ausgabe (Input/Output)
Das Leitwerk("Befehlsprozessor") holt die Maschinenbefehle nacheinander in den Speicher un führt sie aus.
Das Rechenwerk ("Datenprozessor"/ ALU) führt logische und arithmetische Operationen durch.
Maschinenbefehle und die zu verarbeitenden Daten liegen in einem gemeinsamen Speicher.
Heute: Zusammenfassung des Leit- und Rechenwerks zur CPU
Harvard-Rechner:
-2 getrennte Speicher, für Daten und Maschinenbefehle
-beide Speicher werden über einen getrennten Bus mit der CPU verbunden
Wozu braucht man in Computern CPU-Register?
schnelle Speicher, benötigt um Maschinenbefehle auszuführen
Maschinenbefehle schreiben ihre Operanden in Register oder lesen Operanden aus Registern.
Typen von Registern:
Integerregister, Universalregister, Gleitkommaregister, Datenregister, Segmentregister
spezielles Register:
Programm Counter: enthält Hauptspeicheradresse des nächsten auszuführenden Befehls
Maschinenbefehle schreiben ihre Operanden in Register oder lesen Operanden aus Registern.
Typen von Registern:
Integerregister, Universalregister, Gleitkommaregister, Datenregister, Segmentregister
spezielles Register:
Programm Counter: enthält Hauptspeicheradresse des nächsten auszuführenden Befehls
Was versteht man unter einem Mikrokern?
leichtgewichtiger Kernel:
-Funktionalität wird in Anwendungsprozesse ausgelagert
-übernimmt Kommunikation zw. Client- und Serverprozessen
Clientprozesse greifen auf den Mikrokern über Service-Request-Schnittstelle zu. Der Mikrokern leitet Requests an Serverprozesse weiter und stellt Clientprozessen die Ergebnisse zu
-Funktionalität wird in Anwendungsprozesse ausgelagert
-übernimmt Kommunikation zw. Client- und Serverprozessen
Clientprozesse greifen auf den Mikrokern über Service-Request-Schnittstelle zu. Der Mikrokern leitet Requests an Serverprozesse weiter und stellt Clientprozessen die Ergebnisse zu
Nennen Sie vier Betriebsmittel, welche das Betriebssystem verwaltet! Welche davon sind hardware- und welche softwaretechnische Betriebsmittel?
Betriebsmittel sind u. a.:
– Speicher (Hardware)
– Prozessor (Hardware)
– Gerät (Hardware)
– Datei (Software)
– Nachricht (Software)
– Prozess (Software)
– Speicher (Hardware)
– Prozessor (Hardware)
– Gerät (Hardware)
– Datei (Software)
– Nachricht (Software)
– Prozess (Software)
Erläutern Sie den Unterschied zwischen Teilnehmer- und Teilhaberbetrieb! In welcher Betriebsart wird üblicherweise ein Transaktionsmonitor eingesetzt?
Teilnehmerbetrieb:
-jeder Anwender erhält seinen eigenen Benutzerprozess sowie weitere Betriebsmittel vom Betriebssystem zugeteilt
-Anmeldung des Benutzers über Login-Dialog beim System
Teilhaberbetrieb:
-Prozesse und Betriebsmittel werden über einen Transaktionsmonitor zugeteilt
-Im Gegensatz zum Teilnehmerbetrieb kommt der Teilhaberbetrieb mit wenigen Prozessen aus, um viele Dialoganwender zu unterstützen
-Prozesse werdem vom Transaktionsmonitor verwaltet und an Benutzer verteilt -> so als hätte jeder Benutzer seinen eigenen
-ideal für dialogorientierte Programme mit vielen parallel arbeitenden Anwendern mit kurzen schnellen Transaktionen
-jeder Anwender erhält seinen eigenen Benutzerprozess sowie weitere Betriebsmittel vom Betriebssystem zugeteilt
-Anmeldung des Benutzers über Login-Dialog beim System
Teilhaberbetrieb:
-Prozesse und Betriebsmittel werden über einen Transaktionsmonitor zugeteilt
-Im Gegensatz zum Teilnehmerbetrieb kommt der Teilhaberbetrieb mit wenigen Prozessen aus, um viele Dialoganwender zu unterstützen
-Prozesse werdem vom Transaktionsmonitor verwaltet und an Benutzer verteilt -> so als hätte jeder Benutzer seinen eigenen
-ideal für dialogorientierte Programme mit vielen parallel arbeitenden Anwendern mit kurzen schnellen Transaktionen
Welche Aufgaben erfüllt ein Transaktionsmonitor, welche ein Application-Server?
Transaktionsmonitor:
-Dienstprogramm, oberhalb des Kernels angesiedelt
-Aufgaben: Zugangskontrolle, Verteilung von Anfragen, Optimierung der Zugriffe, Verwaltung der Ressourcen, Zuordnung von Datenbankverbindungen
-Einsatz im Teilhaberbetrieb
Application-Server:
-ähnliche Aufgaben wie ein Transaktionsmonitor
-Anstelle von Transaktionsprogrammen laufen im Application-Server Komponenten verteilter Anwendungen ab
-Dienstprogramm, oberhalb des Kernels angesiedelt
-Aufgaben: Zugangskontrolle, Verteilung von Anfragen, Optimierung der Zugriffe, Verwaltung der Ressourcen, Zuordnung von Datenbankverbindungen
-Einsatz im Teilhaberbetrieb
Application-Server:
-ähnliche Aufgaben wie ein Transaktionsmonitor
-Anstelle von Transaktionsprogrammen laufen im Application-Server Komponenten verteilter Anwendungen ab
Wozu verwendet man Embedded Systems? Nennen Sie ein Beispiel!
Als Embedded System bezeichnet man ein Rechner- bzw. Steuerungssystem, das in Geräten, Robotern oder Fahrzeugen eingebaut ist und dort seine Aufgaben meist unsichtbar verrichtet.
-geschlossene Systeme ->übernehmen dezidierte Aufgabe
-kleines oder kein Betriebssysten, da geringe Ressourcen
-oft Echtzeitsysteme
-geschlossene Systeme ->übernehmen dezidierte Aufgabe
-kleines oder kein Betriebssysten, da geringe Ressourcen
-oft Echtzeitsysteme
Wozu dient ein Terminalserver?
-bedienen „dumme“ Clientrechner (sog. Thin Clients)
-Anwendungsprogramme laufen vollständig in den Servern ab
-Clientrechner werden nur noch für die Präsentation eingesetzt
Idee hinter Terminaldiensten:
-Zentralisierung von Betriebsmitteln
-Anwender arbeitet mit gewohnter Benutzeroberfläche, Anwendungen laufen aber komplett im Server ab
-nur Bildschirmänderungen werden im Client dargestellt
-Anwendungsprogramme laufen vollständig in den Servern ab
-Clientrechner werden nur noch für die Präsentation eingesetzt
Idee hinter Terminaldiensten:
-Zentralisierung von Betriebsmitteln
-Anwender arbeitet mit gewohnter Benutzeroberfläche, Anwendungen laufen aber komplett im Server ab
-nur Bildschirmänderungen werden im Client dargestellt
Was ist der Unterschied zwischen Polling und interruptgesteuerter Verarbeitung?
Polling:
-zyklisches Abfragen von einer/ mehrerer Ereignisquelle(n), um deren Kommunikationsbereitschaft festzustellen oder um anliegende Ereignisse oder Kommunikationswünsche abzufragen
-Nachteil: CPU muss ständig arbeiten-> beeinträchtigt Effizienz des Systems
-Vorteil: leicht zu implementieren
Interrupts:
-Betriebssystembedingungen oder asynchrone Ereignisse
-> veranlassen Prozessor einen vordefinierten Code auszuführen, der außerhalb des normalen Programmflusses liegt
-keine ständige Abfrage, Ereignisquellen melden sich beim Auftreten eines Ereignissen
-zyklisches Abfragen von einer/ mehrerer Ereignisquelle(n), um deren Kommunikationsbereitschaft festzustellen oder um anliegende Ereignisse oder Kommunikationswünsche abzufragen
-Nachteil: CPU muss ständig arbeiten-> beeinträchtigt Effizienz des Systems
-Vorteil: leicht zu implementieren
Interrupts:
-Betriebssystembedingungen oder asynchrone Ereignisse
-> veranlassen Prozessor einen vordefinierten Code auszuführen, der außerhalb des normalen Programmflusses liegt
-keine ständige Abfrage, Ereignisquellen melden sich beim Auftreten eines Ereignissen
Wozu dient ein Systemcall und wie wird er üblicherweise von einem Betriebssystem wie Windows oder Unix ausgeführt?
-synchroner, also ein vorhersehbarer und reproduzierbarer Interrupt
-Dienstaufruf an das Betriebssystem, bei dessen Ausführung in den Kernelmodus gewechselt wird
-Der Kontrollfluss wird dabei meist von einem Anwendungsprogramm an den Kernel übergeben.
-Dienstaufruf an das Betriebssystem, bei dessen Ausführung in den Kernelmodus gewechselt wird
-Der Kontrollfluss wird dabei meist von einem Anwendungsprogramm an den Kernel übergeben.
Was bedeutet „Maskierung“ von Unterbrechungsanforderungen?
-explizite Ausschalten eines Interrupts für ein bestimmtes Gerät
-erfolgt über ein Maskenregister (Interrupt Mask Register)
Für jede Interrupt-Quelle wird in dem Register ein Maskierungsbit verwaltet. Wird das Bit auf 1 gesetzt, ist der Interrupt ausgeschaltet.
-erfolgt über ein Maskenregister (Interrupt Mask Register)
Für jede Interrupt-Quelle wird in dem Register ein Maskierungsbit verwaltet. Wird das Bit auf 1 gesetzt, ist der Interrupt ausgeschaltet.
Was versteht man unter einer Interrupt-Vektor-Tabelle?
-Tabelle, welche Interrupt-Vektoren enthält und an einer vordefinierten Stelle im Kernelspeicher liegt
-Der Index zur Adressierung innerhalb der Tabelle wird der CPU durch den Interrupt-Controller anhand der belegten Adressleitungen übermittelt
-Jeder Interrupt-Quelle wird ein fester Index auf diese Tabelle zugeordnet.
-Der Index zur Adressierung innerhalb der Tabelle wird der CPU durch den Interrupt-Controller anhand der belegten Adressleitungen übermittelt
-Jeder Interrupt-Quelle wird ein fester Index auf diese Tabelle zugeordnet.
Was versteckt der Trap-Mechanismus zum Aufruf eines Systemdienstes vor dem Anwendungsprogramm?
-versteckt die Adresse der Systemroutine vor dem Anwendungsprogramm
Der Trap-Mechanismus dient dazu, dass der Aufruf eines Systemcalls von einem Anwendungsprogramm aus ermöglicht wird, ohne dass die tatsächliche Adresse der Systemroutine bekannt sein muss.
Der Trap-Mechanismus dient dazu, dass der Aufruf eines Systemcalls von einem Anwendungsprogramm aus ermöglicht wird, ohne dass die tatsächliche Adresse der Systemroutine bekannt sein muss.
Erläutern Sie die Abwicklung eines Traps (Systemcalls)!
– Der aktuelle Kontext des laufenden Programms, also die Information, welche den aktuellen Status eines Prozesses beschreibt, wird gesichert.
– Der Program Counter wird mit der Adresse der passenden Systemroutine belegt.
– Vom Benutzermodus wird in den Kernelmodus geschaltet. – Die adressierte Systemroutine wird durchlaufen.
– Anschließend wird wieder der alte Kontext des Prozesses hergestellt und der Program Counter mit der Adresse des Befehls nach dem Systemcall belegt.
– Der Program Counter wird mit der Adresse der passenden Systemroutine belegt.
– Vom Benutzermodus wird in den Kernelmodus geschaltet. – Die adressierte Systemroutine wird durchlaufen.
– Anschließend wird wieder der alte Kontext des Prozesses hergestellt und der Program Counter mit der Adresse des Befehls nach dem Systemcall belegt.
Nennen Sie den Unterschied zwischen einem synchronen und asynchronen Interrupt!
synchroner Interrupt:
-tritt bei synchronem Ereignis (Ereignisse, die mit identischen Randbedingungen immer an der selben Stelle vorkommen) auf
-auch als Exception bezeichnet
-Ausnahmen werden von der CPU selbst ausgelöst und sind für das laufende Programm bestimmt
asynchroner Interrupt:
-nicht an laufendes Programm gebunden
-treten unabhängig vom System auf
-unterbrechen für kurze Zeit den Ablauf des laufenden Programms
- nicht vorhersehbar und können nicht ohne weiteres produziert werden
-zB: Ankunft einer Nachricht an einem Netzwerkadapter oder die Zustellung eines Plattenspeicherblocks an die CPU
-tritt bei synchronem Ereignis (Ereignisse, die mit identischen Randbedingungen immer an der selben Stelle vorkommen) auf
-auch als Exception bezeichnet
-Ausnahmen werden von der CPU selbst ausgelöst und sind für das laufende Programm bestimmt
asynchroner Interrupt:
-nicht an laufendes Programm gebunden
-treten unabhängig vom System auf
-unterbrechen für kurze Zeit den Ablauf des laufenden Programms
- nicht vorhersehbar und können nicht ohne weiteres produziert werden
-zB: Ankunft einer Nachricht an einem Netzwerkadapter oder die Zustellung eines Plattenspeicherblocks an die CPU
In welchem Interrupt-Request-Level wird die normale Programmausführung unter Windows durchgeführt und wie unterbrechbar ist dieser?
Die normale Programmausführung wird im niedrigsten Interrupt-Level, dem sog. Passive-Level, ausgeführt und ist damit durch alle anderen Interrupts unterbrechbar.
Was ist in der Prozessverwaltung ein PCB, wozu dient er und welche Inhalte hat er? Nennen Sie dabei drei wichtige Informationen, die im PCB verwaltet werden!
PCB = Process Control Block
->ein Eintrag in der Prozesstabelle
Informationen:
-zur Identifikation des Prozesses,
-die Information zum aktuellen Prozesszustand
-Informationen zu sonstigen Ressourcen, die dem Prozess zugeordnet sind (Dateien, offene Netzwerkverbindungen)
->ein Eintrag in der Prozesstabelle
Informationen:
-zur Identifikation des Prozesses,
-die Information zum aktuellen Prozesszustand
-Informationen zu sonstigen Ressourcen, die dem Prozess zugeordnet sind (Dateien, offene Netzwerkverbindungen)
Beschreiben Sie den groben Ablauf eines Prozess-Kontextwechsels und erläutern Sie, warum ein Thread-Kontextwechsel schneller sein kann, als ein Prozess-Kontextwechsel!
Prozess-Kontextwechsel:
-Unterbrechung eines aktiven Prozesses
-der Prozesskontext des unterbrochenen Prozesse wird gesichert und der Prozesskontext des neu aktivierten Prozesses in die Ablaufumgebung geladen.
Thread-Kontextwechsel( innerhalb eines laufenden P's):
-kann schneller sein als ein Prozess-Kontextwechsel, da meist die gleichen Speicherbereiche verwendet werden
-kein Austausch von Speicherbereichen notwendig, was Betriebsystem-Overhead reduziert
-Unterbrechung eines aktiven Prozesses
-der Prozesskontext des unterbrochenen Prozesse wird gesichert und der Prozesskontext des neu aktivierten Prozesses in die Ablaufumgebung geladen.
Thread-Kontextwechsel( innerhalb eines laufenden P's):
-kann schneller sein als ein Prozess-Kontextwechsel, da meist die gleichen Speicherbereiche verwendet werden
-kein Austausch von Speicherbereichen notwendig, was Betriebsystem-Overhead reduziert
Welche zwei grundsätzlichen Implementierungsmöglichkeiten für Threads gibt es und welche Vor- bzw. Nachteile haben diese jeweils?
Implementierung auf Benutzerebene:
Vorteil: -hohe Effizienz
Nachteil: -Alle Threads eines Prozesses blockieren, wenn ein einzelner Thread blockiert
Implementierung auf der Kernelebene:
- Threads werden im Kernelmodus verwaltet
Vorteile: -Betriebssystem kann die Zuteilung der Rechenzeit über Threads gestalten und so einen Prozess nicht unnötig blockieren
- Multiprozessorsysteme werden besser unterstützt
- Prozess ist nicht blockiert wenn ein einzelner Thread
blockiert ist
Nachteile: -nicht so effizient
- größere Systemabhängigkeit
Vorteil: -hohe Effizienz
Nachteil: -Alle Threads eines Prozesses blockieren, wenn ein einzelner Thread blockiert
Implementierung auf der Kernelebene:
- Threads werden im Kernelmodus verwaltet
Vorteile: -Betriebssystem kann die Zuteilung der Rechenzeit über Threads gestalten und so einen Prozess nicht unnötig blockieren
- Multiprozessorsysteme werden besser unterstützt
- Prozess ist nicht blockiert wenn ein einzelner Thread
blockiert ist
Nachteile: -nicht so effizient
- größere Systemabhängigkeit
Beschreiben Sie einen einfachen Zustandsautomaten eines Prozesses
4 Zustände:
1. bereit: der Prozessist zur Bearbeitung vorbereitet
2. aktiv: hat CPU
3. blockiert: wartet auf Ressourcen zum weitermachen
4. beendet: schon nicht mehr im System vorhanden
Zustandsübergänge:
– bereit → aktiv: Das Betriebssystem wählt den Prozess aus (Aktivieren)
– aktiv→ bereit: Das Betriebssystem wählt einen anderen Prozess aus (Deaktivieren, Preemption, Vorrangunterbrechung)
– aktiv → blockiert: Der Prozess wird blockiert (z. B. wegen Warten auf Input, Betriebsmittel wird angefordert)
– blockiert → bereit: Der Blockierungsgrund wird aufgehoben (Betriebsmittel verfügbar)
– aktiv beendet: Prozessbeendigung oder schwerwiegender Fehler (Terminieren des Prozesses)
1. bereit: der Prozessist zur Bearbeitung vorbereitet
2. aktiv: hat CPU
3. blockiert: wartet auf Ressourcen zum weitermachen
4. beendet: schon nicht mehr im System vorhanden
Zustandsübergänge:
– bereit → aktiv: Das Betriebssystem wählt den Prozess aus (Aktivieren)
– aktiv→ bereit: Das Betriebssystem wählt einen anderen Prozess aus (Deaktivieren, Preemption, Vorrangunterbrechung)
– aktiv → blockiert: Der Prozess wird blockiert (z. B. wegen Warten auf Input, Betriebsmittel wird angefordert)
– blockiert → bereit: Der Blockierungsgrund wird aufgehoben (Betriebsmittel verfügbar)
– aktiv beendet: Prozessbeendigung oder schwerwiegender Fehler (Terminieren des Prozesses)
Welche Scheduling-Algorithmen sind für Echtzeitbetriebssysteme (Realtime-System) sinnvoll und warum?
Minimal Deadline First:
- Prozess mit der nächsten Zeitschranke(deadline) wird ausgewählt
Polled Loop:
- alle Geräte werden zyklisch abgefragt,dieses wird dann bearbeitet
Interrupt-gesteuert:
-warten auf Interrupts von Eregnisquellen und führen dann die geeignete Interrupt-Service-Routine aus
Echtzeitsysteme erfordern eine schnelle und berechenbare Reaktion auf anstehende Ereignisse
- Prozess mit der nächsten Zeitschranke(deadline) wird ausgewählt
Polled Loop:
- alle Geräte werden zyklisch abgefragt,dieses wird dann bearbeitet
Interrupt-gesteuert:
-warten auf Interrupts von Eregnisquellen und führen dann die geeignete Interrupt-Service-Routine aus
Echtzeitsysteme erfordern eine schnelle und berechenbare Reaktion auf anstehende Ereignisse
Nennen Sie jeweils zwei geeignete Scheduling-Verfahren für Batch- und DialogSysteme und erläutern Sie diese kurz!
Batchsysteme:
– First Come First Served (FCFS): FCFS bearbeitet die im System ankommenden Aufträge in der Reihenfolge ihres Eintreffens.
– Shortest Job First (SJF): SJF sucht sich dagegen immer den Job bzw. Prozess aus, von dem es die kürzeste Bedienzeit erwartet.
Dialogsysteme:
-Round Robin(RR):
-FCFS in Verbindung mit einer Zeitscheibe (Quantum)
- alle Prozesse gleich wichtig
- Prozess erhält Quantum, wenn abgelaufen, wird er unterbrochen; kommt in Warteschleife; ein anderer Prozess erhält die CPU
-unterbrochener Prozess kommt wieder drann, wenn die anderen Prozesse ihr Quantum verbraucht haben
-Leistung des Systems hängt von dauer des Quantums ab
-Priotity Scheduling(PS):
-wählt Prozess mit höchster Priorität aus
- setzt Verwaltung von Prioritäten voraus
– First Come First Served (FCFS): FCFS bearbeitet die im System ankommenden Aufträge in der Reihenfolge ihres Eintreffens.
– Shortest Job First (SJF): SJF sucht sich dagegen immer den Job bzw. Prozess aus, von dem es die kürzeste Bedienzeit erwartet.
Dialogsysteme:
-Round Robin(RR):
-FCFS in Verbindung mit einer Zeitscheibe (Quantum)
- alle Prozesse gleich wichtig
- Prozess erhält Quantum, wenn abgelaufen, wird er unterbrochen; kommt in Warteschleife; ein anderer Prozess erhält die CPU
-unterbrochener Prozess kommt wieder drann, wenn die anderen Prozesse ihr Quantum verbraucht haben
-Leistung des Systems hängt von dauer des Quantums ab
-Priotity Scheduling(PS):
-wählt Prozess mit höchster Priorität aus
- setzt Verwaltung von Prioritäten voraus
Erläutern Sie den Unterschied zwischen preemptive und non-preemptive Scheduling und nennen Sie jeweils zwei Scheduling-Strategien, die in diese Kategorien passen.
non-preemptive, auch „run-to-completion“-Verfahren:
- Prozess darf nicht unterbrochen werden, bis er seine Aufgaben vollständig erledigt hat.
ZB: FCFS, Shortest Job First (Batchsysteme)
preemptive Scheduling:
-Prozess darf unterbrochen werden ->rechenbreite Prozesse können suspendiert werden
- setzt Strategie zur Vergabe der CPU voraus, die vom Betriebsssystem unterstützt werden muss (basiert idR auf Zeitscheibentechnik)
-geeignet für Unterstützung konkurrierender Benutzer
ZB: Roun Robin (RR), Priority Scheduling (PS)(Dialogsysteme)
- Prozess darf nicht unterbrochen werden, bis er seine Aufgaben vollständig erledigt hat.
ZB: FCFS, Shortest Job First (Batchsysteme)
preemptive Scheduling:
-Prozess darf unterbrochen werden ->rechenbreite Prozesse können suspendiert werden
- setzt Strategie zur Vergabe der CPU voraus, die vom Betriebsssystem unterstützt werden muss (basiert idR auf Zeitscheibentechnik)
-geeignet für Unterstützung konkurrierender Benutzer
ZB: Roun Robin (RR), Priority Scheduling (PS)(Dialogsysteme)
Nennen Sie Vergleichskriterien, nach denen Scheduling-Algorithmen verglichen werden
können und erläutern Sie diese!
können und erläutern Sie diese!
– Wartezeit: Zeit, die ein Prozess auf die Ausführung warten muss, also die Summe aller Zeiträume, in denen ein Prozess warten muss.
– Bedienzeit (Servicezeit): Zeit, in der ein Prozess die CPU hält und arbeitenkann.
– Antwortzeit: Zeit, in der ein Anwender auf die Bearbeitung seines Auftragswarten muss.
– Durchsatz: Anzahl an Prozessen, die ein System in einer bestimmten Zeit bearbeiten kann.
– CPU-Auslastung: Auslastung der CPU während der Berbeitung von Prozessen in % der Gesamtkapazität.
– Durchlaufzeit = Verweilzeit: Gesamte Zeit, in der sich ein Prozess im System befindet (Servicezeiten + Wartezeiten).
– Bedienzeit (Servicezeit): Zeit, in der ein Prozess die CPU hält und arbeitenkann.
– Antwortzeit: Zeit, in der ein Anwender auf die Bearbeitung seines Auftragswarten muss.
– Durchsatz: Anzahl an Prozessen, die ein System in einer bestimmten Zeit bearbeiten kann.
– CPU-Auslastung: Auslastung der CPU während der Berbeitung von Prozessen in % der Gesamtkapazität.
– Durchlaufzeit = Verweilzeit: Gesamte Zeit, in der sich ein Prozess im System befindet (Servicezeiten + Wartezeiten).
Warum ist der Scheduling-Algorithmus Shortest Remaining Time First (SRTF) kaum zu realisieren?
-SRTF wählt den Prozess mit der kürzesten noch verbleibenden Zeit als nächstes aus -> für Dialogprozesse optimal
-Er ist kaum zu realisieren,da in Betriebssystemen keine Informationen über die verbleibende Prozesszeit
vorliegen.
-Er ist kaum zu realisieren,da in Betriebssystemen keine Informationen über die verbleibende Prozesszeit
vorliegen.
Was bezeichnet man in der Prozessverwaltung als Blockieren, Verklemmen und Verhungern?
Blockieren: Ein Prozess P1 belegt ein Betriebsmittel, ein zweiter Prozess P2 benötigt dasselbe Betriebsmittel ebenfalls und wird daher blockiert, bis P1 sein belegtes
Betriebsmittel freigegeben hat.
Verhungern (Starvation): Ein Prozess erhält trotz Rechenbereitschaft keine CPUZeit zugeteilt, z. B. weil ihm immer wieder Prozesse mit höherer Priorität vorgezogen
werden.
Verklemmung: Zwei oder mehrere Prozesse halten jeder für sich ein oder mehrere Betriebsmittel belegt und versuchen ein weiteres zu belegen, das aber von einem anderen Prozess belegt ist. Es liegt ein Zyklus von Abhängigkeiten vor. Kein Prozess gibt seine Betriebsmittel frei und alle Prozesse warten daher ewig. Dieser Zustand wird auch als Deadlock bezeichnet
Betriebsmittel freigegeben hat.
Verhungern (Starvation): Ein Prozess erhält trotz Rechenbereitschaft keine CPUZeit zugeteilt, z. B. weil ihm immer wieder Prozesse mit höherer Priorität vorgezogen
werden.
Verklemmung: Zwei oder mehrere Prozesse halten jeder für sich ein oder mehrere Betriebsmittel belegt und versuchen ein weiteres zu belegen, das aber von einem anderen Prozess belegt ist. Es liegt ein Zyklus von Abhängigkeiten vor. Kein Prozess gibt seine Betriebsmittel frei und alle Prozesse warten daher ewig. Dieser Zustand wird auch als Deadlock bezeichnet
Welche Maßnahmen sind zu treffen, damit es beim Durchlaufen eines kritischen Abschnitts
nicht zu Inkonsistenzen kommt? Gehen Sie dabei auf den Begriff des gegenseitigen
Ausschlusses (mutual exclusion) ein!
nicht zu Inkonsistenzen kommt? Gehen Sie dabei auf den Begriff des gegenseitigen
Ausschlusses (mutual exclusion) ein!
Um Inkonsistenzen zu vermeiden, muss ein kritischer Abschnitt geschützt werden.
- durch gegenseitugen Ausschluss ->mutual exclusion
-> Prozesse die einen kritischen Abschnitt ausführen wollen, müssen warten bis dieser frei ist. ->Illusion einer Anweisungsfolge
- durch gegenseitugen Ausschluss ->mutual exclusion
-> Prozesse die einen kritischen Abschnitt ausführen wollen, müssen warten bis dieser frei ist. ->Illusion einer Anweisungsfolge
Welche vier Kriterien sind nach Dijkstra für die Behandlung kritischer Abschnitte zu
beachten?
beachten?
– Mutual exclusion: Zwei oder mehr Prozesse dürfen sich nicht gleichzeitig im
gleichen kritischen Abschnitt befinden.
– Es dürfen keine Annahmen über die Abarbeitungsgeschwindigkeit und die
Anzahl der Prozesse bzw. Prozessoren gemacht werden. Der kritische Abschnitt muss unabhängig davon geschützt werden.
– Kein Prozess außerhalb eines kritischen Abschnitts darf einen anderen nebenläufigen Prozess blockieren.
– Fairness Condition: Jeder Prozess, der am Eingang eines kritischen Abschnitts wartet, muss ihn irgendwann betreten dürfen (kein ewiges Warten).
gleichen kritischen Abschnitt befinden.
– Es dürfen keine Annahmen über die Abarbeitungsgeschwindigkeit und die
Anzahl der Prozesse bzw. Prozessoren gemacht werden. Der kritische Abschnitt muss unabhängig davon geschützt werden.
– Kein Prozess außerhalb eines kritischen Abschnitts darf einen anderen nebenläufigen Prozess blockieren.
– Fairness Condition: Jeder Prozess, der am Eingang eines kritischen Abschnitts wartet, muss ihn irgendwann betreten dürfen (kein ewiges Warten).
Was sind Semaphore? Gehen Sie dabei kurz auf die Semaphoroperationen P() und V()
ein!
ein!
-Konzept zur Lösung des Mutual-Exclusion-Problems
auf Basis von Sperren
-Ein Semaphor verwaltet
- Warteschlangefür die Prozesse bzw. Threads, die gerade am Eingang eines kritischen Abschnitts warten
-Semaphorzähler
- wie viele Prozesse in den kritischen Abschnitt dürfen hängt von hängt von Initianlisierung des Semaphorzählers ab
2 Operationen:
-P() : beim Eintritt in einen kritischen Abschnitt
-> Semaphorzähler wird um 1 reduziert (bei >0)
bei SZ=0 -> kein Eintritt
-V() beim Verlassen des kA
SZ wir um 1 erhöht -> weiterer Prozess kann in den kA
auf Basis von Sperren
-Ein Semaphor verwaltet
- Warteschlangefür die Prozesse bzw. Threads, die gerade am Eingang eines kritischen Abschnitts warten
-Semaphorzähler
- wie viele Prozesse in den kritischen Abschnitt dürfen hängt von hängt von Initianlisierung des Semaphorzählers ab
2 Operationen:
-P() : beim Eintritt in einen kritischen Abschnitt
-> Semaphorzähler wird um 1 reduziert (bei >0)
bei SZ=0 -> kein Eintritt
-V() beim Verlassen des kA
SZ wir um 1 erhöht -> weiterer Prozess kann in den kA
Semaphore zur Kontrolle des Eintritts in einen kritischen Abschnitt müssen effizient
implementiert werden. Nehmen Sie zu dieser Aussage Stellung und betrachten Sie dabei
die Implementierungsvariante mit Polling (Busy Waiting).
implementiert werden. Nehmen Sie zu dieser Aussage Stellung und betrachten Sie dabei
die Implementierungsvariante mit Polling (Busy Waiting).
Semaphor-Operationen können bei ineffizienter Implementierung Auswirkungen auf die Leistung haben
Würde die P()-Operation mit Polling realisiert, so würde ein Prozess,
der gerade am Eingang des kritischen Abschnitts wartet, den Rechnerkern
nicht freigeben, bis sein Quantum abgelaufen ist. Daher ist Polling eine schlechte
Implementierungsvariante.
Würde die P()-Operation mit Polling realisiert, so würde ein Prozess,
der gerade am Eingang des kritischen Abschnitts wartet, den Rechnerkern
nicht freigeben, bis sein Quantum abgelaufen ist. Daher ist Polling eine schlechte
Implementierungsvariante.
Nennen Sie die vier notwendigen und hinreichenden Bedingungen, die zu einem Deadlock
führen!
führen!
Ein Deadlock kann nur eintreten, wenn folgende vier Bedingungen eintreffen:
– Mutual Exclusion für die benötigten Betriebsmittel.
– Prozesse belegen Betriebsmittel und fordern weitere an.
– Kein Entzug eines Betriebsmittels ist möglich.
– Zwei oder mehrere Prozesse warten in einer Warteschleife (circular waiting)
auf weitere Betriebsmittel.
– Mutual Exclusion für die benötigten Betriebsmittel.
– Prozesse belegen Betriebsmittel und fordern weitere an.
– Kein Entzug eines Betriebsmittels ist möglich.
– Zwei oder mehrere Prozesse warten in einer Warteschleife (circular waiting)
auf weitere Betriebsmittel.
Warum lassen sich Deadlocks bei nebenläufigen Prozessen schwer ganz vermeiden?
Deadlock-Vermeidung wird durch die Aufweichung mindestens eines der Kriterien erreicht. Deadlocks lassen sich a priori aber nur schwer vermeiden, weil sonst nur jeder Prozess ohne Gefahr eines Deadlocks zum Ablauf kommen dürfte. Alle Betriebsmittel müssten im Vorfeld reserviert werden.
Was ist der Unterschied zwischen synchroner und asynchroner Kommunikation?
synchron:
-Sender und/oder Empfänger blockieren, um sich abzustimmen
zB Ein Sender sendet z. B. eine Nachricht über den
Aufruf eines Dienstes (send) ab und wartet so lange, bis der Empfänger die Nachricht
über einen weiteren Dienst (receive) gelesen hat
asynchron:
-Puffer im Kommunikationssystem
-Sender kann dort Nachricht ablegen und mit Aufgaben weiter machen ohne zu blockieren
-Sender und/oder Empfänger blockieren, um sich abzustimmen
zB Ein Sender sendet z. B. eine Nachricht über den
Aufruf eines Dienstes (send) ab und wartet so lange, bis der Empfänger die Nachricht
über einen weiteren Dienst (receive) gelesen hat
asynchron:
-Puffer im Kommunikationssystem
-Sender kann dort Nachricht ablegen und mit Aufgaben weiter machen ohne zu blockieren
Was ist Multicast-Kommunikation im Unterschied zu Broadcast und Anycast?
– Multicast: Hier adressiert der Sender eine definierte Gruppe von Empfängern. Eine Nachricht wird also an die gesamte Gruppe gesendet (Beziehung1:n, wobei n die Anzahl der Gruppenmitglieder ist).
– Broadcast: Bei dieser Adressierungsart sendet Nachrichten an alle möglichen Empfänger, z. B. alle Partner in einem Netzwerk (remote) oder auf einen bestimmten Rechner (lokal), (Beziehung 1:m, wobei m die Anzahl aller möglichen Partner ist).
– Anycast: Diese Art der Empfängeradressierung wendet sich auch an eine Gruppe, allerdings nimmt hier mindestens ein Empfänger, aber nicht zwangsweise alle Empfänger die Nachrichten entgegen (Beziehung 1:1...n).
– Broadcast: Bei dieser Adressierungsart sendet Nachrichten an alle möglichen Empfänger, z. B. alle Partner in einem Netzwerk (remote) oder auf einen bestimmten Rechner (lokal), (Beziehung 1:m, wobei m die Anzahl aller möglichen Partner ist).
– Anycast: Diese Art der Empfängeradressierung wendet sich auch an eine Gruppe, allerdings nimmt hier mindestens ein Empfänger, aber nicht zwangsweise alle Empfänger die Nachrichten entgegen (Beziehung 1:1...n).
Welche grundlegenden Gedanken stecken hinter dem Konzept des virtuellen Speichers?
– Ein Prozess sollte auch dann ablaufen können, wenn er nur teilweise im Hauptspeicher ist. Wichtig ist hierbei, dass die Teile des Prozesses (Daten und Code) im physikalischen Speicher sind, die gerade benötigt werden.
– Der Speicherbedarf eines Programms sollte größer als der physikalisch vorhandene Hauptspeicher sein können.
– Ein Programmierer sollte am besten nur einen kontinuierlichen (linearen) Speicherbereich beginnend bei Adresse 0 sehen und sich nicht um die Zerstückelung (Fragmentierung) des Hauptspeichers auf mehrere Benutzer
kümmern.
– Der Speicherbedarf eines Programms sollte größer als der physikalisch vorhandene Hauptspeicher sein können.
– Ein Programmierer sollte am besten nur einen kontinuierlichen (linearen) Speicherbereich beginnend bei Adresse 0 sehen und sich nicht um die Zerstückelung (Fragmentierung) des Hauptspeichers auf mehrere Benutzer
kümmern.
Welche Aufgabe hat eine Verdrängungsstrategie und was ist ein Seitenfehler?
Verdrängungsstrategie:
-wird verwendet um eine zu verdrängende Seite auszuwählen
Seitenfehler (page fault):
-Trap, den die MMU erzeugt
-wenn von einem Prozess eine physikal. Adresse angesprochen wird, die nicht im Hauptspeicher geladen ist
-Betr.syst. springt in den Kernelmod. (auf spezielle Interruptroutine)
->Bearbeitet Seitenfehler und versucht die seite in einen Frame zu laden
-wird verwendet um eine zu verdrängende Seite auszuwählen
Seitenfehler (page fault):
-Trap, den die MMU erzeugt
-wenn von einem Prozess eine physikal. Adresse angesprochen wird, die nicht im Hauptspeicher geladen ist
-Betr.syst. springt in den Kernelmod. (auf spezielle Interruptroutine)
->Bearbeitet Seitenfehler und versucht die seite in einen Frame zu laden
Ein virtueller Adressraum wird mit 32 Bit langen virtuellen Adressen adressiert. Eine virtuelle Adresse enthält jeweils 10 Bit für den Index in der Top-Level-Seitentabelle und 10 Bit für den Index in der Second-Level-Seitentabelle.
a) Wie viele Second-Level-Seitentabellen gibt es maximal je Prozess?
b) Wie groß sind die Seitenrahmen im Hauptspeicher?
c) Wie groß ist der gesamte virtuelle Adressraum eines Prozesses?
a) Wie viele Second-Level-Seitentabellen gibt es maximal je Prozess?
b) Wie groß sind die Seitenrahmen im Hauptspeicher?
c) Wie groß ist der gesamte virtuelle Adressraum eines Prozesses?
a)
210 = 1024 je Prozess, da 10 Bit für den Index der Top-Level-Tabelle zur Verfügung stehen. Die 1024 Einträge verweisen auf 1024 Second-Level-Tabellen.
b)
212 Byte = 4096 Byte, da 12 Bit für die Größe einer virtuellen Seite zur Verfügung stehen und die Größe einer physikalischen Seite (Frame) der Größe der virtuellen Seite entspricht.
c)
232 Byte = 4 GiB, da insgesamt 32 Bit für die Adressierung zur Verfügung stehen.
210 = 1024 je Prozess, da 10 Bit für den Index der Top-Level-Tabelle zur Verfügung stehen. Die 1024 Einträge verweisen auf 1024 Second-Level-Tabellen.
b)
212 Byte = 4096 Byte, da 12 Bit für die Größe einer virtuellen Seite zur Verfügung stehen und die Größe einer physikalischen Seite (Frame) der Größe der virtuellen Seite entspricht.
c)
232 Byte = 4 GiB, da insgesamt 32 Bit für die Adressierung zur Verfügung stehen.
Welcher Seitenersetzungsalgorithmus wäre theoretisch optimal und warum ist dieser praktisch nur schwer zu realisieren?
Algorithmus Belady:
die Seitenrahmen für eine Ersetzung auswählen, die am spätesten von allen belegten Seitenrahmen wieder benötigt werden
unmöglich da:
-man müsste Speicherzugriffe eines Prozesses sicher vorher bestimmen
-Das Betriebssystem kann zum Zeitpunkt des Seitenfehlers
nicht wissen, wann welche Seite als nächstes verwendet wird.
die Seitenrahmen für eine Ersetzung auswählen, die am spätesten von allen belegten Seitenrahmen wieder benötigt werden
unmöglich da:
-man müsste Speicherzugriffe eines Prozesses sicher vorher bestimmen
-Das Betriebssystem kann zum Zeitpunkt des Seitenfehlers
nicht wissen, wann welche Seite als nächstes verwendet wird.
Warum ist der LRU-Algorithmus zur Seitenersetzung bei der virtuellen Adressierung schwer zu realisieren? Welcher Algorithmus ist eine gute Alternative hierzu?
großer Aufwand bei jedem Zugriff
-nach zeitlicher Nutzung sortierte Liste müsste verwaltet werden
am längsten nicht benuztes Element wäre ganz oben
-aktuell genutzte Seite müsste ganz nach unten
Daher werden Pseudo-LRU-Algorithmen implementiert
(Clock-Page/Second Chance)
Alternative:
NFU (Not Frequently Used)-Alg. in Verbindung mit Aging Alg
-nach zeitlicher Nutzung sortierte Liste müsste verwaltet werden
am längsten nicht benuztes Element wäre ganz oben
-aktuell genutzte Seite müsste ganz nach unten
Daher werden Pseudo-LRU-Algorithmen implementiert
(Clock-Page/Second Chance)
Alternative:
NFU (Not Frequently Used)-Alg. in Verbindung mit Aging Alg
Erläutern Sie die Grundprinzipien des TLB und der invertierten Seitentabelle mit Hashing!
TLB (Adressumsatzpuffer):
- eigener, schneller Speicher, der Tabelle darstellt -> darin sind Zuordnungen von virtuellen auf reale Adressen verwaltet
-aktuell am häufigsten benutzte Seitennr. werden in Tabelle eingetragen
-bei Adressumsetzung wird erst geprüft ob virtuelle Adr. im TLB vorhanden, wenn ja (TLB hit) kein Zugriff auf Seitentabellen nötig, da reale adresse schon von Frames ermittelt worden ist
->Ersparung des Hauptsp.zugriffs
wenn nicht (LTB miss)
klassische Adressumsetzung: über Seitentabellen(n) wird Mapping auf physikal. Adr. vorgenommen
Invertierte Seitentabelle mit Hashing:
-Suche nach Seite über Hashtabelle, Suchkriterium: virtuelle Seriennr.
-komplett im Hauptsp.
- eigener, schneller Speicher, der Tabelle darstellt -> darin sind Zuordnungen von virtuellen auf reale Adressen verwaltet
-aktuell am häufigsten benutzte Seitennr. werden in Tabelle eingetragen
-bei Adressumsetzung wird erst geprüft ob virtuelle Adr. im TLB vorhanden, wenn ja (TLB hit) kein Zugriff auf Seitentabellen nötig, da reale adresse schon von Frames ermittelt worden ist
->Ersparung des Hauptsp.zugriffs
wenn nicht (LTB miss)
klassische Adressumsetzung: über Seitentabellen(n) wird Mapping auf physikal. Adr. vorgenommen
Invertierte Seitentabelle mit Hashing:
-Suche nach Seite über Hashtabelle, Suchkriterium: virtuelle Seriennr.
-komplett im Hauptsp.
Was versteht man unter einem Shared Memory? Nennen Sie Einsatzmöglichkeiten!
Shared Memory:
-von mehreren Prozessen gemeinsam genutzter Speicherbereich
-wird nur einmal in Hauptsp geladen
-mehrere Seitentabelleneinträge verschiedener Prozesse verweisen darauf
Nutzung:
-um Codeteile, die mehrere Prozesse benötigen, nur einmal in den Hauptspeicher zu laden ->shared Libraries
-merhreren Prozessen globale Datenbereiche zur Verfügung stellen ->Prozesskomunikation
-von mehreren Prozessen gemeinsam genutzter Speicherbereich
-wird nur einmal in Hauptsp geladen
-mehrere Seitentabelleneinträge verschiedener Prozesse verweisen darauf
Nutzung:
-um Codeteile, die mehrere Prozesse benötigen, nur einmal in den Hauptspeicher zu laden ->shared Libraries
-merhreren Prozessen globale Datenbereiche zur Verfügung stellen ->Prozesskomunikation
Welche Aufgaben hat ein Gerätetreiber?
–Er definiert ein Gerät-> macht es dem Betriebssystem bekannt, initialisiert also die Geräte-Controller beim Systemstart.
– Er stellt ein logisches Programmiermodell bereit und übersetzt es in gerätespezifische Anforderungen.
– Er dient der Pufferung von Daten auf dem Weg vom Gerät zum Hauptspeicher
und umgekehrt.
– Er übernimmt die Unterbrechungsbearbeitung für ein Gerät. In der Regel liegt im Treiber auch die passende Interrupt Service Routine (ISR) für das Gerät.
– Er dient der Koordination der nebenläufigen Zugriffe auf ein Gerät.
– Er stellt ein logisches Programmiermodell bereit und übersetzt es in gerätespezifische Anforderungen.
– Er dient der Pufferung von Daten auf dem Weg vom Gerät zum Hauptspeicher
und umgekehrt.
– Er übernimmt die Unterbrechungsbearbeitung für ein Gerät. In der Regel liegt im Treiber auch die passende Interrupt Service Routine (ISR) für das Gerät.
– Er dient der Koordination der nebenläufigen Zugriffe auf ein Gerät.
Was ist der Unterschied zwischen RAID-4 und RAID-5?
Bei RAID-4 werden die Datenbits wie bei RAID-5 zu Streifen zusammengefasst.
Pro Streifen wird eine Prüfsumme gebildet und auf einer eigenen Platte gespeichert.
In RAID-5-Systemen sind die Paritätsabschnitte auf alle Platten verteilt, um eine gleichmäßige Plattenauslastung zu erreichen. Ansonsten ist RAID-5 sehr ähnlich zu RAID-4.
Pro Streifen wird eine Prüfsumme gebildet und auf einer eigenen Platte gespeichert.
In RAID-5-Systemen sind die Paritätsabschnitte auf alle Platten verteilt, um eine gleichmäßige Plattenauslastung zu erreichen. Ansonsten ist RAID-5 sehr ähnlich zu RAID-4.
Welchen wesentlichen Vorteil bietet RAID-6 im Vergleich zu RAID-5 und welcher
Nachteil wird dadurch erkauft?
Nachteil wird dadurch erkauft?
RAID-6-Systeme sind wie RAID-5 aufgebaut, speichern aber mehr redundante Prüfdaten, so dass sogar der Ausfall von zwei Platten ohne Auswirkung bleibt.
Wenn n Festplatten für die Nutzdaten benötigt werden, ist ein RAID-6-System aus n+2 Platten aufgebaut.
RAID-6 zeichnet sich durch gute Leistung beim Lesen aus, die Schreibleistung ist allerdings schlechter als bei RAID-5.
Wenn n Festplatten für die Nutzdaten benötigt werden, ist ein RAID-6-System aus n+2 Platten aufgebaut.
RAID-6 zeichnet sich durch gute Leistung beim Lesen aus, die Schreibleistung ist allerdings schlechter als bei RAID-5.
Was ist im Sinne der Virtualisierung ein kritischer Maschinenbefehl?
-sensitiv, aber nicht prvilegiert -> verursachen bei der Betriebssystemvirtualisierung gewisse Probleme, weil das Gastgeberbetriebssystem nicht erkennen kann, ob sie vom Anwendungsprogramm oder vom Hostbetriebssystem
abgesetzt werden.
abgesetzt werden.
Was versteht man unter Paravirtualisierung?
-Technik der Betriebssystemvirtualisierung
- man verändert das Gastbetriebssystem
-Hypervisor ist ein reduziertes Betriebssystem
-Vom Gastbetriebssystem werden Hypervisor-Aufrufe über spezielle Systemaufrufe (API) an das Gastgeberbetriebssystem
abgesetzt.
- man verändert das Gastbetriebssystem
-Hypervisor ist ein reduziertes Betriebssystem
-Vom Gastbetriebssystem werden Hypervisor-Aufrufe über spezielle Systemaufrufe (API) an das Gastgeberbetriebssystem
abgesetzt.
Wozu dient der Virtual Processor Identifier bei der Verwaltung des TLB?
Virtual Processor Identifier (VPID):
-eindeutige Identifikation der VM, kann als Identifikationsmerkmal für Zuordnung der TLB-Einträge zu den VMs genutzt werden
-TLB muss nicht bei jedem VM-Wechsel vollständig entlehrt und neu belegt werden
-eindeutige Identifikation der VM, kann als Identifikationsmerkmal für Zuordnung der TLB-Einträge zu den VMs genutzt werden
-TLB muss nicht bei jedem VM-Wechsel vollständig entlehrt und neu belegt werden
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 (92)
no tags