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