Sommersemester 009 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Hausübung 05 Abgabe am 0.07.009 (Kästen D) Aufgabe : Speicherzuteilung (6++=8 Punkte) Es sei der folgende Belegungsvektor für die n eines Speichers gegeben. Belegte n sind mit markiert, freie n mit 0. Zudem ist die markiert, die zuletzt bei einer Speicheranforderung zugewiesen wurde. Die Striche in der Abbildung dienen nur zur besseren Übersichtlichkeit. Zudem sollen die folgenden Anforderungen in gegebener Reihenfolge und in je einem zusammenhängenden Stück bedient werden: A: 5 Seiten B: Seiten C: 6 Seiten D: Seiten. Welche Speichereinheiten werden belegt, wenn die folgenden Strategien eingesetzt werden? First Fit Next Fit Best Fit Zeichnen Sie jeweils den resultierenden Belegungsvektor. Markieren Sie die letzte Zuteilung und markieren Sie, von welcher Anforderung welche Speicherseiten belegt wurden. Können alle Anforderungen erfüllt werden?. Berechnen Sie den externen Verschnitt für jede nicht erfolgreiche Anfrage. Berechnen Sie zudem den externen Verschnitt für den Fall, dass nach den vier gegebenen Anfragen eine weitere Anfrage kommt, die bei allen drei Strategien nicht erfolgreich bedient werden kann.. Bei welcher der drei Strategien könnte nun nach der Bearbeitung der vier gegebenen Anfragen noch eine weitere Anfrage über Einheiten erfolgreich bearbeitet werden? Was fällt Ihnen hierbei in Zusammenhang mit der Anzahl freier n auf? KMS Sommersemester 009 Hausübung 05
Aufgabe : Verdrängungsstrategien (+++++= Punkte) In der Vorlesung haben Sie die Verdrängungsstrategien Least Frequently Used, Least Recently Used und Recently Not Used kennen gelernt. Gegeben sei ein System mit vier Speicherkacheln und die folgende Referenzfolge. Zeit 5 6 7 8 9 0 Referenzfolge 5 0 5 0. Tragen Sie die belegung und die Zähler für Least Frequently Used (LFU) in Tabelle ein. Benötigen Sie einen Tie Breaker? Wenn ja, nennen Sie den von Ihnen verwendeten Tie Breaker. Zu welchem Zeitpunkt haben Sie diesen das erste mal benutzt?. Tragen Sie nun die - und Stapelbelegung für Least Recently Used (LRU) in Tabelle ein. Benötigen Sie hier einen Tie Breaker? Falls nicht, kann in einer beliebigen anderen Referenzfolge einer nötig sein? Begründen Sie kurz Ihre Antwort.. Tragen Sie nun die belegung für die Recently Not Used (RNU) Strategie in Tabelle ein. Gehen Sie von einer Fensterbreite von k = aus. Wann kann bei RNU ein Tie Breaker nötig sein?. Nun soll die Anzahl der Seitenfehler der drei Verfahren mit der optimalen Strategie verglichen werden. Ermitteln Sie dazu zunächst die belegung nach der optimalen Strategie und tragen Sie diese in Tabelle ein. 5. Wie hoch ist die Anzahl der Seitenfehler (ohne Initialseitenfehler) der vier betrachteten Verfahren? 6. Auf welche Weise kann das Betriebssystem von einem Seitenfehler erfahren? Erklären Sie kurz das weitere Vorgehen des Betriebssystems, nachdem es auf die von Ihnen genannte Weise über einen Seitenfehler informiert wurde. KMS Sommersemester 009 Hausübung 05
Zeit 5 6 7 8 9 0 Referenzfolge 5 0 5 0 Zähler 0 5 Tabelle : Tabelle für Least-Frequently-Used Zeit 5 6 7 8 9 0 Referenzfolge 5 0 5 0 Stapel Top Tabelle : Tabelle für Least-Recently-Used Zeit 5 6 7 8 9 0 Referenzfolge 5 0 5 0 Tabelle : Tabelle für Recently-Not-Used Zeit 5 6 7 8 9 0 Referenzfolge 5 0 5 0 Tabelle : Tabelle für optimale Strategie KMS Sommersemester 009 Hausübung 05
Aufgabe : Cachekohärenzproblem (++=7 Punkte) Es sei ein System mit zwei Prozessoren und jeweils eigenem Cache gegeben. Der Hauptspeicher wird jedoch von beiden Prozessoren gemeinsam genutzt. Dabei besitzt der Hauptspeicher 6 Seiten und kann bei Bedarf Seiten von einer vorhandenen Festplatte aus- und einlagern. Sowohl die beiden Caches, als auch der Hauptspeicher nutzen die FIFO-Verdrängungsstrategie. Gehen Sie zudem davon aus, dass der Cache geänderte Daten nach dem write-back Verfahren in den Hauptspeicher schreibt. Jeder der beiden Caches kann maximal sechs Seiten des Hauptspeichers beinhalten. Betrachten Sie die folgenden Inhalte des Hauptspeichers und der beiden Caches. In der jeweils unteren Zeile stehen die Nummern der eingelagerten Seiten. In der oberen Zeile steht jeweils der Zeitpunkt, an dem diese Seite eingelagert wurde.. Betrachten Sie die folgende Befehlsfolge der beiden Prozessoren zu den gegebenen Zeitpunkten. Wie sehen die Caches und der Hauptspeicher nach jedem der Zeitpunkte aus? Tragen sie Ihre Ergebnisse in Tabellen der Form ein, wie sie oben gezeigt wurde (eine Vorlage befindet sich auf der folgenden Seite). Markieren Sie jeweils die geänderten Stellen farblich.. Liest CPU zum Zeitpunkt 9 mit dem Befehl r(6) den Wert, den CPU zum Zeitpunkt 8 geschrieben hat? Wie sähe es aus, wenn CPU zum Zeitpunkt nochmal r(6) ausführen würde. Begründen Sie Ihre Antwort kurz.. Nennen Sie zwei Möglichkeiten, um zu verhindern, dass nach dem Beschreiben eines Cachewertes durch eine CPU die dadurch veralteten Daten der anderen Caches durch die entsprechenden CPUs verwendet werden können und somit die CPUs auf veralteten Daten arbeiten. Welche Probleme können hier bei der Nutzung von Write-Through oder Write-Back auftreten? KMS Sommersemester 009 Hausübung 05
KMS Sommersemester 009 Hausübung 05 5