Besprechungsfolien
Transcription
Besprechungsfolien
Betriebssysteme (BS) Probeklausur Olaf Spinczyk und Matthias Meier Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund http://ess.cs.uni-dortmund.de/ http://ess.cs.tu-dortmund.de/DE/Teaching/SS2013/BS/ 1 Ablauf ● Probeklausur (45 Minuten) ● Besprechung der Aufgaben ● Auswertung ● Weitere Hinweise zur Vorbereitung Klausurvorbereitungsveranstaltung 08.07.2013 2 Probeklausur ... in (fast) allen Belangen realistisch: ● Art der Aufgaben ● Auswahl aus dem gesamten Inhalt der Veranstaltung - Betriebssystemgrundlagen und UNIX-Systemprogrammierung in C - alle Vorlesungen und Übungen sind relevant ● Umfang ● ● kürzer als das „Original“: ca. 40–45 (statt 60) Minuten Durchführung keine Hilfsmittel erlaubt (keine Spickzettel, Bücher, ...) ● bitte still arbeiten ● jeder für sich ● ● Die Klausur wird nicht eingesammelt. Klausurvorbereitungsveranstaltung 08.07.2013 3 1 – Prozesse und Scheduling ● a) Prozesserzeugung ● Wie viele Gs werden ausgegeben? int main (void) { int i; printf("G\n"); fork(); for (i = 0; i < 2; i++) { if ((i % 2) == 0) printf("G\n"); fork(); } printf("G\n"); return 0; } Klausurvorbereitungsveranstaltung 08.07.2013 4 1 – Prozesse und Scheduling ● a) Prozesserzeugung ● Wie viele Gs werden ausgegeben? int main (void) { int i; printf("G\n"); fork(); for (i = 0; i < 2; i++) { if ((i % 2) == 0) printf("G\n"); fork(); } printf("G\n"); return 0; G G } G G G G G G G G G → 1+2+8=11 Klausurvorbereitungsveranstaltung 08.07.2013 5 1 – Prozesse und Scheduling ● b) Medium-term Scheduling ● Der Prozess ist komplett ausgelagert, d. h. der Inhalt seines gesamten Adressraums wurde in den Hintergrundspeicher verschoben (swap-out). ● Der von dem Prozess belegte Vordergrundspeicher wurde freigegeben. Klausurvorbereitungsveranstaltung 08.07.2013 6 1 – Prozesse und Scheduling ● c) Scheduling X X ● ● ● X X X VRR ist präemptiv → der Prozess wird dazu gedrängt, die CPU abzugeben Im Gegenteil, bei SRTF können Prozesse mit einer langen CPU-Stoß Dauer verhungern Prozesse mit langen CPU-Stößen werden begünstigt ● Konvoi-Effekt Klausurvorbereitungsveranstaltung 08.07.2013 7 1 – Prozesse und Scheduling ● d) Scheduling Unterschied zwischen „Round Robin“ und „Virtual Round Robin“ ● Welche Vor- und Nachteile ergeben sich durch den Einsatz von VRR? ● Klausurvorbereitungsveranstaltung 08.07.2013 8 1 – Prozesse und Scheduling ● Round Robin ● Prozesse, die die CPU vor Ende ihrer Zeitscheibe freiwillig abgeben, werden benachteiligt ● Virtual Round Robin Prozesse, die die CPU vor Ende ihrer Zeitscheibe freiwillig abgeben, kommen, auf eine Vorzugsliste ● Das nächste Zeitquantum wird auf die nicht ausgeschöpfte Zeit gesetzt ● Klausurvorbereitungsveranstaltung 08.07.2013 9 1 – Prozesse und Scheduling ● Round Robin ● Prozesse, die die CPU vor Ende ihrer Zeitscheibe freiwillig abgeben, werden benachteiligt ● Virtual Round Robin Prozesse, die die CPU vor Ende ihrer Zeitscheibe freiwillig abgeben, kommen, auf eine Vorzugsliste ● Das nächste Zeitquantum wird auf die nicht ausgeschöpfte Zeit gesetzt ● E/A-lastige Prozesse werden nicht benachteiligt → Fairness Durch die im Durchschnitt kürzeren Zeitscheiben erhöht sich sie Zahl der Kontextwechsel Jeder einzelne Kontextwechsel ist etwas teurer, da immer zwei Queues inspiziert werden müssen Klausurvorbereitungsveranstaltung 08.07.2013 10 2 – Synchronisation und Verklemmungen ● a) Synchronisation und Verklemmung X X ● ● ● ● X X X X Signale gehören zu den konsumierbaren Betriebsmitteln Semaphore realisieren passives Warten (Zstd.: BLOCKED) Operation V → freigeben, hier wird nicht blockiert Prozesszustand ist beliebig (auch RUNNING), aber kein Fortschritt Klausurvorbereitungsveranstaltung 08.07.2013 11 2 – Synchronisation und Verklemmungen ● b) Provozierte Verklemmung ● Durch das Einfügen von Semaphor-Operationen soll dafür gesorgt werden, dass beim Belegen der Ressourcen eine Verklemmung möglich ist. p(&x); p(&y); p(&y); p(&x); v(&x); v(&y); v(&x); v(&y); Klausurvorbereitungsveranstaltung 08.07.2013 12 2 – Synchronisation und Verklemmungen ● b) Provozierte Verklemmung Durch das Einfügen von Semaphor-Operationen soll dafür gesorgt werden, dass beim Belegen der Ressourcen eine Verklemmung möglich ist. ● Wahrscheinlichkeit für Verklemmung mit sleep(1); erhöhen ● p(&x); sleep(1); p(&y); p(&y); sleep(1); p(&x); v(&x); v(&y); v(&x); v(&y); Klausurvorbereitungsveranstaltung 08.07.2013 13 2 – Synchronisation und Verklemmungen ● c) Verklemmungs-Arten Deadlock ↔ Livelock? ● Was ist das „geringere Übel“? ● Klausurvorbereitungsveranstaltung 08.07.2013 14 Vorlesungsfolien: 06-Verklemmungen Verklemmung von Prozessen ● ● ● 1. Variante: Deadlock ● Passives Warten ● Prozesszustand BLOCKED 2. Variante: Livelock ● Aktives Warten (busy waiting oder „lazy“ busy waiting) ● Prozesszustand beliebig (auch RUNNING), aber kein Fortschritt Deadlocks sind das vergleichsweise geringere Übel, da dieser Zustand eindeutig erkennbar ist und so die Basis zur „Auflösung“ gegeben ist. Klausurvorbereitungsveranstaltung 08.07.2013 15 3 – Speicherverwaltung ● a) Buddy-Verfahren C C Buddy-Verfahren: auf nächste 2er-Potenz aufrunden! D D D Klausurvorbereitungsveranstaltung 08.07.2013 D D D D D 16 3 – Speicherverwaltung ● a) Buddy-Verfahren kann nicht erfüllt werden – keine 16 MiB am Stück verfügbar F F F Klausurvorbereitungsveranstaltung 08.07.2013 F 17 3 – Speicherverwaltung ● b) Segmentierung X X X ● ● X X im Gegenteil, Segmente werden verschoben, um Lücken zu schließen → weniger aber größere Lücken entstehen im Gegenteil, Prozesse können über gemeinsame Datensegmente kommunizieren Klausurvorbereitungsveranstaltung 08.07.2013 18 3 – Speicherverwaltung ● c) Ersetzungsstrategien System mit Seitenadressierung und der Ersetzungsstrategie FIFO ● Referenzfolge: 2, 1, 5, 1, 3, 2, 4, 1, 5, 4, 3 ● drei Hauptspeicherkacheln für diesen Prozess ● 2 2 1 2 1 5 Klausurvorbereitungsveranstaltung 08.07.2013 19 3 – Speicherverwaltung ● c) Ersetzungsstrategien System mit Seitenadressierung und der Ersetzungsstrategie FIFO ● Referenzfolge: 2, 1, 5, 1, 3, 2, 4, 1, 5, 4, 3 ● drei Hauptspeicherkacheln für diesen Prozess ● bereits eingelagert! 2 2 1 2 1 5 2 1 5 Klausurvorbereitungsveranstaltung 08.07.2013 20 3 – Speicherverwaltung ● c) Ersetzungsstrategien System mit Seitenadressierung und der Ersetzungsstrategie FIFO ● Referenzfolge: 2, 1, 5, 1, 3, 2, 4, 1, 5, 4, 3 ● drei Hauptspeicherkacheln für diesen Prozess ● FIFO → Seite 2 wird ersetzt 2 2 1 2 1 5 2 1 5 3 1 5 Klausurvorbereitungsveranstaltung 08.07.2013 21 3 – Speicherverwaltung ● c) Ersetzungsstrategien System mit Seitenadressierung und der Ersetzungsstrategie FIFO ● Referenzfolge: 2, 1, 5, 1, 3, 2, 4, 1, 5, 4, 3 ● drei Hauptspeicherkacheln für diesen Prozess ● 2 2 1 2 1 5 2 1 5 3 1 5 Klausurvorbereitungsveranstaltung 08.07.2013 3 2 5 3 2 4 22 3 – Speicherverwaltung ● c) Ersetzungsstrategien System mit Seitenadressierung und der Ersetzungsstrategie FIFO ● Referenzfolge: 2, 1, 5, 1, 3, 2, 4, 1, 5, 4, 3 ● drei Hauptspeicherkacheln für diesen Prozess bereits ● eingelagert! 2 2 1 2 1 5 2 1 5 3 1 5 Klausurvorbereitungsveranstaltung 08.07.2013 3 2 5 3 2 4 1 2 4 1 5 4 1 5 4 23 3 – Speicherverwaltung ● c) Ersetzungsstrategien System mit Seitenadressierung und der Ersetzungsstrategie FIFO ● Referenzfolge: 2, 1, 5, 1, 3, 2, 4, 1, 5, 4, 3 ● drei Hauptspeicherkacheln für diesen Prozess ● 2 2 1 2 1 5 2 1 5 3 1 5 Klausurvorbereitungsveranstaltung 08.07.2013 3 2 5 3 2 4 1 2 4 1 5 4 1 5 4 1 5 3 24 3 – Speicherverwaltung ● d) Translation Look-Aside Buffer (TLB) ● schneller Registersatz, der vor dem Zugriff auf die SKT konsultiert wird Klausurvorbereitungsveranstaltung 08.07.2013 25 4 – Ein-/Ausgabe und Dateisysteme ● a) E/A-Scheduling ● Shortest Seek Time First: - Auftrag mit der kürzesten Positionierzeit wird vorgezogen ● ● Elevator: - Plattenarm bewegt sich in eine Richtung bis keine Aufträge mehr vorhanden sind Problem bei SSTF im Gegensatz zu Elevator? - eine Anfrage könnte „nie“ beantwortet werden, falls immer eine Anfrage eintrifft, bei der die Positionierzeit kürzer ist → Aushungerung Klausurvorbereitungsveranstaltung 08.07.2013 26 4 – Ein-/Ausgabe und Dateisysteme ● a) E/A-Scheduling ● Beispiel für SSTF – Referenzfolge: 2 3 4 10 1 2 3 4 5 6 7 8 9 Klausurvorbereitungsveranstaltung 08.07.2013 10 27 4 – Ein-/Ausgabe und Dateisysteme ● a) E/A-Scheduling ● Beispiel für SSTF – Referenzfolge: 10 1 2 3 4 5 6 7 8 9 Klausurvorbereitungsveranstaltung 08.07.2013 neue Anfragen: 1 2 3 10 28 4 – Ein-/Ausgabe und Dateisysteme ● a) E/A-Scheduling ● Beispiel für SSTF – Referenzfolge: 3 2 1 10 1 2 3 4 5 6 7 8 9 Klausurvorbereitungsveranstaltung 08.07.2013 10 29 4 – Ein-/Ausgabe und Dateisysteme ● a) E/A-Scheduling ● Beispiel für SSTF – Referenzfolge: 10 1 2 3 4 5 6 7 8 9 Klausurvorbereitungsveranstaltung 08.07.2013 neue Anfragen: 2 3 4 10 30 4 – Ein-/Ausgabe und Dateisysteme ● a) E/A-Scheduling ● Beispiel für SSTF – Referenzfolge: 10 1 2 3 4 5 6 7 8 9 neue Anfragen: 1 2 3 10 hier würde das Aushungern auftreten! Klausurvorbereitungsveranstaltung 08.07.2013 31 4 – Ein-/Ausgabe und Dateisysteme ● b) Journaled File Systems ● Funktionsweise - zusätzlich zum Schreiben der Daten und Meta-Daten wird ein Protokoll (Log File) der Änderungen geführt - Änderungen treten als Teil von Transaktionen auf - beim Bootvorgang wird auf Inkonsistenzen geprüft Klausurvorbereitungsveranstaltung 08.07.2013 32 4 – Ein-/Ausgabe und Dateisysteme ● b) Journaled File Systems ● Funktionsweise - zusätzlich zum Schreiben der Daten und Meta-Daten wird ein Protokoll (Log File) der Änderungen geführt - Änderungen treten als Teil von Transaktionen auf - beim Bootvorgang wird auf Inkonsistenzen geprüft keine Inkonsistenten Meta-Daten möglich Hochfahren eines abgestürzten Systems benötigt nur den relativ kurzen Durchgang durch das Log-File (effizienter als chkdsk) ineffizienter, da zusätzliches Log-File geschrieben wird Klausurvorbereitungsveranstaltung 08.07.2013 33 Auswertung ● ● Bitte schnell einmal die Punkte zusammenzählen … Notenspiegel: Punkte 38,5–45 33,5–38 28–33 22,5–27,5 0–22 Note 1 2 3 4 5 Klausurvorbereitungsveranstaltung 08.07.2013 34 Weitere Hinweise zur Vorbereitung ● Inhalt der Folien lernen ● ● Klassifizieren: Was muss ich lernen? Was muss ich begreifen? Übungsaufgaben verstehen, C und UNIX „können“ ● ASSESS-System bleibt mindestens bis zur Klausur offen - bei Fragen zur Korrektur melden ● ● Am besten die Aufgaben noch einmal lösen ● Optionale Zusatzaufgaben bearbeiten Beispielaufgaben lösen ● ältere Last Chance Tests, Probeklausuren ● Literatur zur Lehrveranstaltung durchlesen ● BS-Forum nutzen Klausurvorbereitungsveranstaltung 08.07.2013 35 Empfohlene Literatur [1] A. Silberschatz et al. Operating System Concepts. Wiley, 2004. ISBN 978-0471694663 [2] A. Tanenbaum: Modern Operating Systems (2nd ed.). Prentice Hall, 2001. ISBN 0-13-031358-0 [3] B. W. Kernighan, D. M. Ritchie. The C Programming Language. Prentice-Hall, 1988. ISBN 0-13-110362-8 (paperback) 0-13-110370-9 (hardback) [4] R. Stevens, Advanced Programming in the UNIX Environment, Addison-Wesley, 2005. ISBN 978-0201433074 Viel Erfolg bei der Klausur! Klausurvorbereitungsveranstaltung 08.07.2013 36