Prof. Dr. R. Schrader SS 2003 Ch. Hagemeier
4. ¨ Ubung zur Vorlesung Betriebssysteme
Ubungstermin: 18.06.2003, 09:15 Uhr, H¨orsaal Pohligstraße¨
Aufgabe 14: (Compaction)
Wie aus der Vorlesung bekannt eliminiert ein Swapping–System L¨ocher im Speicherbereich durch Compaction. Angenommen viele L¨ocher in vielen Datensegmenten im Speicher sind zuf¨allig verteilt und das Lesen und Schreiben eines 32–Bit–Wortes im Speicher dauert 10 nsec. Wie lange dauert Compaction von 128 MB Speicher in diesem Falle? Zur Verein- fachung k¨onnen Sie annehmen, daß Wort 0 Teil eines Lochs und das h¨ochste Wort im Speicher g¨ultige Daten enth¨alt.
Aufgabe 15: (Virtueller Speicher)
Beschreiben Sie das Konzept des virtuellen Speichers. Gehen Sie dabei insbesondere auf die Stichworte Page, MMU, Page Frame, Present/Absent Bit, TLB und invertierte Page–
Tabelleein.
Aufgabe 16: (2–Level–Paging)
Betrachten Sie einen Computer mit 32–Bit–Adressen und einer 2–Level Page–Tabelle. Die ersten 9 Bit einer virtuellen Adresse seien dort f¨ur die Adressierung der ersten Page–Tabelle verwendet, die darauf folgenden 11 Bit f¨ur die der zweiten und der Rest f¨ur den n¨otigen Offset. Wie groß sind die Pages und wieviele gibt es im gesamten Adressbereich?
Aufgabe 17: (Paging)
Betrachten Sie einen Computer mit 32–Bit–Adressen und 4 KB Pages. Das Programm und die dazugeh¨origen Daten passen in die erste Page (0−4095). Der Stack paßt in die h¨ochste Page. Wieviele Eintr¨age in der Page–Tabelle sind bei traditionellem (1–Level) Paging n¨otig? Wieviele Eintr¨age in der Page–Tabelle sind bei 2–Level–Paging mit jeweils 10 Bit Adressl¨ange n¨otig?
Aufgabe 18: (Paging)
Angenommen eine virtuelle 32–Bit Adresse ist in vier Felder a, b, c und d aufgeteilt. Die ersten drei werden dabei f¨ur ein 3–Level–Paging–System genutzt, das vierte ist der ent- sprechende Page–Offset. H¨angt die Anzahl der Pages von der Gr¨oße aller vier Felder ab?
Wenn nicht, welche sind relevant und welche nicht?
Aufgabe 19: (Translation–Lookaside–Buffer) Ein Computer dessen Prozesse 1024 Pages im Adressbereich hat halte seine Page–Tabellen im Speicher. Der Overhead um ein Wort aus der Page–Tabelle zu lesen betrage 5 nsec. Um diesen Aufwand zu reduzieren besitzt der Computer einen TLB (Translation–Lookaside–
Buffer). Dieser h¨alt 32 (virtuelle Page, physikalisches Page–Frame)–Paare und kann eine Abfrage in 1 nsec durchf¨uhren. Welche Trefferquote im TLB ist n¨otig um einen durch- schnittlichen Overhead von 2 nsec zu erhalten?
Aufgabe 20: (TLB bei VAX)
Der TLB bei machen Computern (beispielsweise bei VAX–Systemen) enth¨alt kein R–Bit.
Wieso ist dies nicht n¨otig?
Aufgabe 21: (Replacement Policy)
Ein Computer besitze 4 Page–Frames. Der Ladezeitpunkt, Zeitpunkt des letzten Zugriffs und die R– und M–Bits f¨ur jede Page lauten wie folgt (Zeiten in Clock–Ticks):
Page Geladen Benutzt R M
0 126 280 1 0
1 230 265 0 01
2 140 270 0 0
3 110 285 1 1
(a) Welche Page w¨urde LRU ersetzen?
(b) Welche Page w¨urde FIFO ersetzen?
(c) Welche Page w¨urde die Clock–Policy ersetzen?
Aufgabe 22: (Page–Tabellen–Gr¨oße)
Ein Computer stellt jedem Prozeß 65536 Bytes an Adreßraum zur Verf¨ugung. Dieser ist in Pages der Gr¨oße 4096 Bytes unterteilt.
Ein Programm habe nun eine Gr¨oße von 32768 Bytes, dessen Daten von 16386 Bytes und dessen Stack von 15870 Bytes. Paßt dieses Programm in den Adreßraum? W¨urde es passen, wenn die Page–Gr¨oße 512 Bytes w¨are?