Betriebssysteme - Speicherverwaltung

Größe: px
Ab Seite anzeigen:

Download "Betriebssysteme - Speicherverwaltung"

Transkript

1 Betriebssysteme - Speicherverwaltung alois.schuette@h-da.de Version: (8c45d65) ARSnova Alois Schütte 18. Mai / 80

2 Inhaltsverzeichnis Der Hauptspeicher ist neben dem Prozessor das wichtigste Betriebsmittel eines Rechners. Dieser Teil beschreibt, wie die Verwaltung des Speichers durch das Betriebssystem organisiert wird. 1 Überblick 2 Ohne Prozessauslagerung 3 Swapping 4 2 / 80

3 Überblick Überblick Die Speicherverwaltung hat folgende Aufgaben: Verwaltung des freien und belegten Speichers Zuweisung von Speicherbereichen zu Prozessen Wiederverfügbarmachen des von Prozessen freigegebenem Speicher Auslagern von Hauptspeicherbelegungen auf Festplatte, wenn nicht genügend Hauptspeicher für alle Prozesse verfügbar ist Prinzipiell werden Speicherverwalter in zwei Kategorien unterteilt: Prozesse werden während der Ausführung zwischen Haupt- und Sekundärspeicher verlagert Prozesse behalten den einmal zugewiesenen Hauptspeicher 3 / 80

4 Überblick Überblick Die Speicherverwaltung hat folgende Aufgaben: Verwaltung des freien und belegten Speichers Zuweisung von Speicherbereichen zu Prozessen Wiederverfügbarmachen des von Prozessen freigegebenem Speicher Auslagern von Hauptspeicherbelegungen auf Festplatte, wenn nicht genügend Hauptspeicher für alle Prozesse verfügbar ist Prinzipiell werden Speicherverwalter in zwei Kategorien unterteilt: Prozesse werden während der Ausführung zwischen Haupt- und Sekundärspeicher verlagert Prozesse behalten den einmal zugewiesenen Hauptspeicher 3 / 80

5 Ohne Prozessauslagerung Ohne Prozessauslagerung 1 Überblick 2 Ohne Prozessauslagerung Einprogrammbetrieb Mehrprogrammbetrieb 3 Swapping 4 4 / 80

6 Ohne Prozessauslagerung Einprogrammbetrieb Einprogrammbetrieb Das einfachste Verfahren ist es, stets nur einen Prozess im Speicher zu halten. Konsequenz: Jedes Programm muss alle Gerätetreiber eingebunden haben. Besser: Aufteilung des Speichers in verschiedene Teile, z.b. wie im PC organisiert: Es läuft jeweils nur ein Prozess, der vom Prompt aus gestartet wird und den ganzen Speicher belegt. Ist der Prozess terminiert, wird der Speicher frei gegeben und das nächste Programm kann gestartet werden. 5 / 80

7 Ohne Prozessauslagerung Einprogrammbetrieb Einprogrammbetrieb Das einfachste Verfahren ist es, stets nur einen Prozess im Speicher zu halten. Konsequenz: Jedes Programm muss alle Gerätetreiber eingebunden haben. Besser: Aufteilung des Speichers in verschiedene Teile, z.b. wie im PC organisiert: Es läuft jeweils nur ein Prozess, der vom Prompt aus gestartet wird und den ganzen Speicher belegt. Ist der Prozess terminiert, wird der Speicher frei gegeben und das nächste Programm kann gestartet werden. 5 / 80

8 Ohne Prozessauslagerung Mehrprogrammbetrieb Mehrprogrammbetrieb Heute ist Einprogrammbetrieb auch auf kleinen Rechnern die Ausnahme. Durch Mehrprogrammbetrieb wird erreicht: Anwendungsentwicklung ist einfacher, wenn eine Anwendung in mehrere logische Prozesse unterteilt werden kann (Beispiel: Browser mit GUI Interaktion und Laden der Seiten im Hintergrund) Bessere Performance, wenn interaktive Dienste für mehrere Benutzer zur Verfügung stehen. Annahme Laden eines Prozesses und Ausführen des Dienstes = 100 msec Auslagern auf Platte = 100 msec Folgerung 50% der Zeit für Speicherverwaltung erforderlich, wenn Prozess ausgelagert werden würde. Wird der Prozess nicht ausgelagert, entfällt Verwaltungsoverhead. 6 / 80

9 Ohne Prozessauslagerung Mehrprogrammbetrieb Viele Programme lesen Datenblöcke aus einer Datei und führen dann damit Berechnungen aus. Annahme Lesen eines Blocks der Datei = 40 msec Berechnung = 10 msec Folgerung Bei Einprogrammbetrieb wartet CPU 80% (40/(40+10)) der Zeit. Insgesamt folgt: Mehrprogrammbetrieb verbessert die Ausnutzung der CPU! 7 / 80

10 Ohne Prozessauslagerung Mehrprogrammbetrieb Grad des Mehrprogrammbetriebs Wie viele Prozesse müssen auf einmal im Speicher sein, damit die CPU optimal ausgenutzt wird? 1 Einfache Überlegung: Annahme ein Prozess ist 20% der Zeit, in der er im Speicher ist, rechnend Folgerung die CPU ist mit 5 gleichzeitigen Prozessen voll ausgelastet. Diese Überlegung ist unrealistisch, da vorausgesetzt ist, das alle Prozesse nicht gleichzeitig auf E/A warten. 8 / 80

11 Ohne Prozessauslagerung Mehrprogrammbetrieb Grad des Mehrprogrammbetriebs Wie viele Prozesse müssen auf einmal im Speicher sein, damit die CPU optimal ausgenutzt wird? 1 Einfache Überlegung: Annahme ein Prozess ist 20% der Zeit, in der er im Speicher ist, rechnend Folgerung die CPU ist mit 5 gleichzeitigen Prozessen voll ausgelastet. Diese Überlegung ist unrealistisch, da vorausgesetzt ist, das alle Prozesse nicht gleichzeitig auf E/A warten. 2 Wahrscheinlichkeitsbetrachtung: Annahme ein Prozess ist den Bruchteil p seiner Zeit wartend auf E/A Folgerung bei n Prozessen im Speicher ist die Wahrscheinlichkeit, das die CPU untätig ist p p... p = p n. Damit ist die CPU Ausnutzung = 1 p n 8 / 80

12 Ohne Prozessauslagerung Mehrprogrammbetrieb Grad des Mehrprogrammbetriebs Wie viele Prozesse müssen auf einmal im Speicher sein, damit die CPU optimal ausgenutzt wird? 1 Einfache Überlegung: Annahme ein Prozess ist 20% der Zeit, in der er im Speicher ist, rechnend Folgerung die CPU ist mit 5 gleichzeitigen Prozessen voll ausgelastet. Diese Überlegung ist unrealistisch, da vorausgesetzt ist, das alle Prozesse nicht gleichzeitig auf E/A warten. 2 Wahrscheinlichkeitsbetrachtung: Annahme ein Prozess ist den Bruchteil p seiner Zeit wartend auf E/A Folgerung bei n Prozessen im Speicher ist die Wahrscheinlichkeit, das die CPU untätig ist p p... p = p n. Damit ist die CPU Ausnutzung = 1 p n 8 / 80

13 Ohne Prozessauslagerung Mehrprogrammbetrieb Der Grad des Mehrprogrammbetriebs zeigt die CPU Ausnutzung als Funktion von n: Man erkennt, dass z.b. bei Prozessen, die zu 80% auf E/A warten, mindestens 8 Prozesse im Speicher sein müssen, um eine Auslastung von über 80% zu erlangen. 9 / 80

14 Ohne Prozessauslagerung Mehrprogrammbetrieb Aufgabe Ein Rechner habe 1M Speicher, ein Benutzerprozess belege 200K, das BS ebenfalls 200K. Wie gross ist die CPU Ausnutzung bei 80% E/A Wartezeit und wie erhöht sie sich, wenn der Speicher 1 zuerst um 1M und 2 dann danach um 2M erweitert wird (BS Overhead soll vernachlässigt werden)? 10 / 80

15 Ohne Prozessauslagerung Mehrprogrammbetrieb Mehrprogrammbetrieb mit fixierten Partitionen Mehrprogrammbetrieb verbessert die Ausnutzung der CPU. Wie ist der Speicher zu organisieren, so dass mehr als ein Prozess in ihm gehalten werden kann? 11 / 80

16 Ohne Prozessauslagerung Mehrprogrammbetrieb Einfache Überlegung Der Speicher wird in n Bereiche mit fester aber unterschiedlicher Grösse eingeteilt. Für jeden dieser Bereiche existiert eine Warteschlange für Prozesse. Nachteil: Wenn ein Prozess z.b. 250k gross ist, wird er der Partition 3 zugeteilt. Damit sind 50 k Speicher ungenutzt. Ist eine grosse Partition ungenutzt (z.b. Partition 2), eine kleine hat viele Einträge (Partition 1, Warteschlange voll), dann kann ein Prozess (Größe 80k) lange nicht zugeteilt werden 12 / 80

17 Ohne Prozessauslagerung Mehrprogrammbetrieb Einfache Überlegung Der Speicher wird in n Bereiche mit fester aber unterschiedlicher Grösse eingeteilt. Für jeden dieser Bereiche existiert eine Warteschlange für Prozesse. Nachteil: Wenn ein Prozess z.b. 250k gross ist, wird er der Partition 3 zugeteilt. Damit sind 50 k Speicher ungenutzt. Ist eine grosse Partition ungenutzt (z.b. Partition 2), eine kleine hat viele Einträge (Partition 1, Warteschlange voll), dann kann ein Prozess (Größe 80k) lange nicht zugeteilt werden 12 / 80

18 Ohne Prozessauslagerung Mehrprogrammbetrieb Eine Warteschlange ohne Zusatzregel Der Speicher wird in n Bereiche mit fester aber unterschiedlicher Grösse eingeteilt. Es existiert nur eine Warteschlange. Nachteil Ein kleiner Prozess belegt u.u. eine grosse Partition. Lösung Wird eine Partition frei, wird in der Eingabeschlange der Prozess gesucht, der am besten passt. Es kann dann aber vorkommen, dass ein Prozess nie Speicher bekommt! Wann passiert das? 13 / 80

19 Ohne Prozessauslagerung Mehrprogrammbetrieb Eine Warteschlange ohne Zusatzregel Der Speicher wird in n Bereiche mit fester aber unterschiedlicher Grösse eingeteilt. Es existiert nur eine Warteschlange. Nachteil Ein kleiner Prozess belegt u.u. eine grosse Partition. Lösung Wird eine Partition frei, wird in der Eingabeschlange der Prozess gesucht, der am besten passt. Es kann dann aber vorkommen, dass ein Prozess nie Speicher bekommt! Wann passiert das? 13 / 80

20 Ohne Prozessauslagerung Mehrprogrammbetrieb Eine Warteschlange mit Zusatzregel Der Speicher wird in n Bereiche mit fester aber unterschiedlicher Grösse eingeteilt. Es existiert nur eine Warteschlange. Beispiel an Tafel Warteschlange 80k 290k 300k 290k, k=2 und Prozesse in Partition 3 werden fertig 14 / 80

21 Ohne Prozessauslagerung Mehrprogrammbetrieb Relokation Wird ein Programm aus Hauptprogramm, Benutzerprozeduren und Bibliotheksprozeduren zu einem Adressraum zusammen gebunden, muss der Linker wissen, an welcher Stelle (Startadresse) im Speicher das Programm beginnt. Wird das Programm in die Partition 1 geladen, wird der JUMP Befehl im Betriebssystem landen!!!. Benötigt wird ein Mechanismus, so dass der Linker Code relativ zur Startadresse zur ausgewählten Partition erzeugt. Diese Art der Codeerzeugung heißt Relokation. 15 / 80

22 Ohne Prozessauslagerung Mehrprogrammbetrieb Relokation Wird ein Programm aus Hauptprogramm, Benutzerprozeduren und Bibliotheksprozeduren zu einem Adressraum zusammen gebunden, muss der Linker wissen, an welcher Stelle (Startadresse) im Speicher das Programm beginnt. Wird das Programm in die Partition 1 geladen, wird der JUMP Befehl im Betriebssystem landen!!!. Benötigt wird ein Mechanismus, so dass der Linker Code relativ zur Startadresse zur ausgewählten Partition erzeugt. Diese Art der Codeerzeugung heißt Relokation. 15 / 80

23 Ohne Prozessauslagerung Mehrprogrammbetrieb Relokation - Bitkarte Der Linker erzeugt Code und fügt eine Liste ( Bitkarte ) in die Binärdatei ein, die angibt, welche Stellen im Programm relative Adressen sind, da Konstanten nicht ersetzt werden dürfen. Der Lader des Programms verwendet diese Liste in der Binärdatei und addiert an diese Stellen die Startadresse der ausgewählten Partition. 16 / 80

24 Ohne Prozessauslagerung Mehrprogrammbetrieb Aufgabe Wie könnte ein HAL1957 Programm um die Bitkarte erweitert werden (Format), so dass ein HAL1957 Loader das Programm in eine beliebige Partition laden und ausführen kann? Wie wäre damit der Loader zu programmieren? 17 / 80

25 Ohne Prozessauslagerung Mehrprogrammbetrieb Zugriffsschutz Durch die Relokation ist sichergestellt, dass ein Programm einer beliebigen Partition zugewiesen werden kann. Trotzdem kann es passieren, dass ein Programm, das in Partition i läuft, eine Speicheradresse anspricht, die in der Partition j liegt (i!= j). Im Normalfall ist dies ein Fehler (C-Prg. mit a[-100];) aber in speziellen Fällen (z.b. mehrere Threads teilen sich den selben Speicher) kann dies erwünscht sein. Durch spezielle Register in Rechnern kann der Zugriff und auch die Relokation vereinfacht werden: Ein Basisregister wird beim Prozesswechsel mit der Startadresse der ausgewählten Partition geladen. Alle Adressen sind im Programm dann relativ zu diesem Basisregister. Ein Grenzregister beinhaltet die maximale Adresse, ausgehend vom Basisregister. Das Laufzeitsystem kann vor jedem Zugriff auf eine Adresse prüfen, ob eine Überschreitung statt- finden würde. Beim IBM PC ist dies teilweise implementiert (Basisregister heißt dort Segmentregister, ein Grenzregister gibt es nicht). 18 / 80

26 Ohne Prozessauslagerung Mehrprogrammbetrieb Zugriffsschutz Durch die Relokation ist sichergestellt, dass ein Programm einer beliebigen Partition zugewiesen werden kann. Trotzdem kann es passieren, dass ein Programm, das in Partition i läuft, eine Speicheradresse anspricht, die in der Partition j liegt (i!= j). Im Normalfall ist dies ein Fehler (C-Prg. mit a[-100];) aber in speziellen Fällen (z.b. mehrere Threads teilen sich den selben Speicher) kann dies erwünscht sein. Durch spezielle Register in Rechnern kann der Zugriff und auch die Relokation vereinfacht werden: Ein Basisregister wird beim Prozesswechsel mit der Startadresse der ausgewählten Partition geladen. Alle Adressen sind im Programm dann relativ zu diesem Basisregister. Ein Grenzregister beinhaltet die maximale Adresse, ausgehend vom Basisregister. Das Laufzeitsystem kann vor jedem Zugriff auf eine Adresse prüfen, ob eine Überschreitung statt- finden würde. Beim IBM PC ist dies teilweise implementiert (Basisregister heißt dort Segmentregister, ein Grenzregister gibt es nicht). 18 / 80

27 Ohne Prozessauslagerung Mehrprogrammbetrieb Aufgabe HAL1958 hat diese Eigenschaft integriert: Basisregister ist Register 1 Grenzregister ist Register 2 Wie wäre damit der Loader zu programmieren? 19 / 80

28 Swapping Swapping 1 Überblick 2 Ohne Prozessauslagerung 3 Swapping Swapping mit Partitionen fester Größe Swapping mit variablen Partitionen Speicherverwaltung mit Bitmaps Speicherverwaltung mit verketteten Listen Analyse der Swapping-Systeme 4 20 / 80

29 Swapping Swapping Wenn mehrere Benutzer mit einem System arbeiten, ist es wahrscheinlich, dass nicht alle Prozesse gleichzeitig im Hauptspeicher gehalten werden können. Dann ist es erforderlich, einige Prozesse vom Hauptspeicher in den Sekundärspeicher (Festplatte) zu verlagern und umgekehrt, Prozesse von Platte in den Hauptspeicher zu laden. Dieses Ein-/Auslagern wird Swapping genannt. 21 / 80

30 Swapping Swapping mit Partitionen fester Größe Swapping mit Partitionen fester Größe Verfahren: Immer wenn ein Prozess blockiert und keine freie Partition mehr verfügbar ist, wird Swapping durchgeführt. Nachteil: Durch die feste Grösse der Partitionen geht Speicher verloren. Das ist aber gerade das Hauptproblem. Es muss ein Prozess auf der Platte gefunden werden, der in die frei gewordene Partition passt Suchaufwand. Wegen der Nachteile wird dieses Verfahren i.a. nicht eingesetzt. 22 / 80

31 Swapping Swapping mit variablen Partitionen Swapping mit variablen Partitionen Bei variablen Partitionen ändert sich die Speicherbelegung im Verlaufe der Zeit: Vorteil: kein ungenutzter Platz in belegten Partitionen Prozesse dynamisch in jedem freien Speicherbereich einlagerbar (vgl. Prozess 3) Nachteil: mehr Verwaltungsaufwand (Allokation, Deallokation) 23 / 80

32 Swapping Swapping mit variablen Partitionen Wenn der gesamte Speicher stark fragmentiert ist (viele kleine Bereiche, in die kein Prozess mehr passt), können alle Löcher zu einem freien Bereich zusammengefasst werden (Speicherverdichtung). Dies wird in wenigen Betriebssystemen getan (Non Stop BS). 24 / 80

33 Swapping Swapping mit variablen Partitionen Festzulegen ist, wieviel Speicher bei der Erzeugung oder Einlagerung eines Prozesses allokiert werden soll. Werden Programme z.b. mit C++ geschrieben, kann Speicher dynamisch erzeugt werden (new...). Dann kann es passieren, dass ein Speicherbereich wachsen muss und kein Platz ist: 25 / 80

34 Swapping Swapping mit variablen Partitionen Um diese Auslagerungen bzw. Verschiebeoperationen möglichst selten durchführen zu müssen, wird i.a. mehr Platz als erforderlich bei der Prozesserzeugung oder Einlagerung allokiert. Die Verwaltung des freien Speichers erfolgt mit unterschiedlichen Techniken: 1 Bitmaps, 2 verkettete Listen 26 / 80

35 Swapping Swapping mit variablen Partitionen Um diese Auslagerungen bzw. Verschiebeoperationen möglichst selten durchführen zu müssen, wird i.a. mehr Platz als erforderlich bei der Prozesserzeugung oder Einlagerung allokiert. Die Verwaltung des freien Speichers erfolgt mit unterschiedlichen Techniken: 1 Bitmaps, 2 verkettete Listen 26 / 80

36 Swapping Speicherverwaltung mit Bitmaps Speicherverwaltung mit Bitmaps Hierbei wird der gesamte Speicher in Allokationseinheiten fester Grösse eingeteilt. Eine Bitmap speichert, ob die Allokationseinheit belegt (=1) oder frei (=0) ist. Die Wahl der Grösse der Allokationseinheit ist der entscheidende Faktor: kleine Allokationseinheit grosse Bitmap aber wenig Speicherverlust, wenn Prozess kein Vielfaches der Allokationseinheit ist grosse Allokationseinheit kleine Bitmap aber viel Speicherverlust, wenn Prozess kein Vielfaches der Allokationseinheit ist 27 / 80

37 Swapping Speicherverwaltung mit Bitmaps Speicherverwaltung mit Bitmaps Hierbei wird der gesamte Speicher in Allokationseinheiten fester Grösse eingeteilt. Eine Bitmap speichert, ob die Allokationseinheit belegt (=1) oder frei (=0) ist. Die Wahl der Grösse der Allokationseinheit ist der entscheidende Faktor: kleine Allokationseinheit grosse Bitmap aber wenig Speicherverlust, wenn Prozess kein Vielfaches der Allokationseinheit ist grosse Allokationseinheit kleine Bitmap aber viel Speicherverlust, wenn Prozess kein Vielfaches der Allokationseinheit ist 27 / 80

38 Swapping Speicherverwaltung mit Bitmaps Beurteilung Vorteil einfaches Verwaltungsverfahren: Suche k freie aufeinanderliegende Allokationseinheiten Nachteil Muss Platz für k Allokationseinheiten gesucht werden, muss in der Bitmap eine Folge von k Nullen gefunden werden ( langsame Operation). Wegen des genannten Nachteils findet das Verfahren in der Praxis wenig Bedeutung. 28 / 80

39 Swapping Speicherverwaltung mit verketteten Listen Speicherverwaltung mit verketteten Listen In einer verketteten Liste (Segmentliste) werden allokierte und freie Speicherbereiche verwaltet. Ein Knoten der Liste definiert einen Speicher für einen Prozess oder ein Loch (freien Bereich). Die Liste ist nach den Startadressen sortiert. Dadurch wird die Aktualisierung der Liste bei Termination eines Prozesses recht einfach. 29 / 80

40 Swapping Speicherverwaltung mit verketteten Listen Aufgabe 1 Wie sieht die Liste nach Termination von Prozess 2 aus? 2 Wie sieht die Liste aus, wenn erneut ein Prozess eingefügt wird? 30 / 80

41 Swapping Speicherverwaltung mit verketteten Listen Der Speicherverwalter muss bei Prozesserzeugung oder Einlagerung einen Knoten finden, der ausreichend Platz für den Prozess bietet. Folgende Strategien können realisiert werden: First Fit Strategie Durchsuchen vom Anfang der Liste, bis der erste L-Knoten gefunden ist, der gross genug ist. Beurteilung einfach und schnell Best Fit Strategie Durchsuchen der ganzen Liste, bis optimal grosser L-Knoten gefunden ist. Beurteilung nicht so schnell, da immer die ganze Liste durchsucht wird; es entstehen viele kleine Löcher 31 / 80

42 Swapping Speicherverwaltung mit verketteten Listen Der Speicherverwalter muss bei Prozesserzeugung oder Einlagerung einen Knoten finden, der ausreichend Platz für den Prozess bietet. Folgende Strategien können realisiert werden: First Fit Strategie Durchsuchen vom Anfang der Liste, bis der erste L-Knoten gefunden ist, der gross genug ist. Beurteilung einfach und schnell Best Fit Strategie Durchsuchen der ganzen Liste, bis optimal grosser L-Knoten gefunden ist. Beurteilung nicht so schnell, da immer die ganze Liste durchsucht wird; es entstehen viele kleine Löcher Quick Fit Strategie Mehrere getrennte Listen fester Länge für Standardgrössen (1k, 2k, 4k,...) und eine allgemeine Liste für den Rest. Beurteilung schnell und es entstehen nicht so viele kleine Löcher, mehr Verwaltungsaufwand Bild an Tafel 31 / 80

43 Swapping Speicherverwaltung mit verketteten Listen Der Speicherverwalter muss bei Prozesserzeugung oder Einlagerung einen Knoten finden, der ausreichend Platz für den Prozess bietet. Folgende Strategien können realisiert werden: First Fit Strategie Durchsuchen vom Anfang der Liste, bis der erste L-Knoten gefunden ist, der gross genug ist. Beurteilung einfach und schnell Best Fit Strategie Durchsuchen der ganzen Liste, bis optimal grosser L-Knoten gefunden ist. Beurteilung nicht so schnell, da immer die ganze Liste durchsucht wird; es entstehen viele kleine Löcher Quick Fit Strategie Mehrere getrennte Listen fester Länge für Standardgrössen (1k, 2k, 4k,...) und eine allgemeine Liste für den Rest. Beurteilung schnell und es entstehen nicht so viele kleine Löcher, mehr Verwaltungsaufwand Bild an Tafel 31 / 80

44 Swapping Speicherverwaltung mit verketteten Listen Aufgabe 1 Wie sieht die Segmentliste aus und wie verändern sich die Liste wenn ein 110 k großer Prozess eingelagert werden muss bei 1 First Fit 2 Best fit 2 Wie könnte bei Quick Fit die Verwaltung der einzelnen Listen realisiert werden? 32 / 80

45 Swapping Analyse der Swapping-Systeme Analyse der Swapping-Systeme Durch die Speicherverwaltung wird der Speicher fragmentiert. Eine Analyse kann durch Simulation des Speicherverwalter in folgender Form erfolgen: 1 Der Simulator (C++ Programm) erzeugt zufällig Segmentgrößen als Prozess oder als Loch. Das Resultat sind ungefähr gleich viele Löcher und Prozesse. 2 Jetzt werden angrenzende Löcher verschmolzen. 33 / 80

46 Swapping Analyse der Swapping-Systeme Analyse der Swapping-Systeme Durch die Speicherverwaltung wird der Speicher fragmentiert. Eine Analyse kann durch Simulation des Speicherverwalter in folgender Form erfolgen: 1 Der Simulator (C++ Programm) erzeugt zufällig Segmentgrößen als Prozess oder als Loch. Das Resultat sind ungefähr gleich viele Löcher und Prozesse. 2 Jetzt werden angrenzende Löcher verschmolzen. 3 Jetzt werden als Operationen zufällig Allokation und Deallokation ausgeführt. Im Mittel also die Hälfte Allokationen und die Hälfte Deallokation, wobei bei der Deallokation verschmolzen wird, wenn links und/oder rechts ein Loch ist. 33 / 80

47 Swapping Analyse der Swapping-Systeme Analyse der Swapping-Systeme Durch die Speicherverwaltung wird der Speicher fragmentiert. Eine Analyse kann durch Simulation des Speicherverwalter in folgender Form erfolgen: 1 Der Simulator (C++ Programm) erzeugt zufällig Segmentgrößen als Prozess oder als Loch. Das Resultat sind ungefähr gleich viele Löcher und Prozesse. 2 Jetzt werden angrenzende Löcher verschmolzen. 3 Jetzt werden als Operationen zufällig Allokation und Deallokation ausgeführt. Im Mittel also die Hälfte Allokationen und die Hälfte Deallokation, wobei bei der Deallokation verschmolzen wird, wenn links und/oder rechts ein Loch ist. 33 / 80

48 Swapping Analyse der Swapping-Systeme Aus Sicht des gelben Prozesses ist während der Simulation links von ihm zur Hälfte der Zeit ein Loch, zur anderen Hälfte der Zeit ein Prozess. Über die Zeit hinweg existieren im Mittel dadurch halb so viele Löcher wie Prozesse, da nur bei Löchern verschmolzen wird. Daraus resultiert die 50% Regel: Ist die mittlere Anzahl der Prozesse im Speicher n, so sind im Mittel n/2 Löcher im Speicher. 34 / 80

49 Swapping Analyse der Swapping-Systeme Aus Sicht des gelben Prozesses ist während der Simulation links von ihm zur Hälfte der Zeit ein Loch, zur anderen Hälfte der Zeit ein Prozess. Über die Zeit hinweg existieren im Mittel dadurch halb so viele Löcher wie Prozesse, da nur bei Löchern verschmolzen wird. Daraus resultiert die 50% Regel: Ist die mittlere Anzahl der Prozesse im Speicher n, so sind im Mittel n/2 Löcher im Speicher. 34 / 80

50 Swapping Analyse der Swapping-Systeme Aufgabe (als Ergänzung zum Praktikum): Schreiben Sie ein Programm, das die 50% Regel durch Simulation der o.a. Form widerlegt oder bestätigt. Terminal 35 / 80

51 Swapping Analyse der Swapping-Systeme Eine weitere Analyse beantwortet die Frage, wie viel Speicher durch Löcher prozentual verloren geht. Gegeben: f sei der Teil des Speichers, der durch Löcher verloren geht (gesuchte Größe). s sei die durchschnittliche Grösse der insgesamt n Prozesse. k s (k > 0) sei die durchschnittliche Grösse der insgesamt n/2 Löcher. (z.b. k=0.5 Loch halb so gross wie Prozess) m sei die Grösse des Speichers (in Bytes). 36 / 80

52 Swapping Analyse der Swapping-Systeme Gegeben: f sei der Teil des Speichers, der durch Löcher verloren geht (gesuchte Größe). s sei die durchschnittliche Grösse der insgesamt n Prozesse. k s (k > 0) sei die durchschnittliche Grösse der insgesamt n/2 Löcher. (z.b. k=0.5 Loch halb so gross wie Prozess) m sei die Grösse des Speichers (in Bytes). Folgerung: Die n/2 Löcher belegen somit m n s Bytes im Speicher. (Speicher #Prozesse*Prozessgröße) Also gilt: n/2 k s = m n s (#Löcher * Lochgrösse = Speicher Prozesse) m = n/2 k s + n s (nach m auflösen) m = n s (k/2 + 1) Der Anteil an Löchern f des Speichers errechnet sich aus: f = n/2 k s m = n k s/2 n s (k/2 + 1) = k 2 (k/2 + 1) = k k / 80

53 Swapping Analyse der Swapping-Systeme Resultat Sind die Löcher halb so gross wie die Prozesse (k=1/2), dann geht 20% Speicher verloren (0.5/2.5). Wird die Lochgrösse durch einen guten Speicherverwalter (BestFit) auf z.b. 1/4 der Prozessgrösse reduziert, geht nur 11% Speicher verloren. Insgesamt lohnt der Aufwand für gute Speicherverwaltungsalgorithmen! 38 / 80

54 1 Überblick 2 Ohne Prozessauslagerung 3 Swapping 4 Paging Paging mit Assoziativspeicher Paging - Seitenersetzungsverfahren Paging - Design der Systeme Paging - Design der Systeme Segmentierung Reine Segmentierung Reine Segmentierung Segmentierung kombiniert mit Paging 39 / 80

55 Swapping löst das Problem, mehrere Prozesse gleichzeitig im Speicher zu halten und bei Bedarf ein-/ und auszulagern. Was muss aber getan werden, wenn ein einzelner Prozess mehr Speicherplatz braucht, als der Hauptspeicher gross ist? Früher wurde das Problem dadurch gelöst, dass der Programmierer explizit sein Programm in Stücke zerlegte, die jeweils in den Hauptspeicher passten. Das Betriebssystem übernahm das Laden der einzelnen Programmstücke. 40 / 80

56 Swapping löst das Problem, mehrere Prozesse gleichzeitig im Speicher zu halten und bei Bedarf ein-/ und auszulagern. Was muss aber getan werden, wenn ein einzelner Prozess mehr Speicherplatz braucht, als der Hauptspeicher gross ist? Früher wurde das Problem dadurch gelöst, dass der Programmierer explizit sein Programm in Stücke zerlegte, die jeweils in den Hauptspeicher passten. Das Betriebssystem übernahm das Laden der einzelnen Programmstücke. Heute gibt es dazu das Konzept der virtuellen Speicher: Ein Programm (Code, Daten, Stack und Heap) kann beliebig gross sein, das Betriebssystem lädt immer nur die gerade benötigten Teile in den Hauptspeicher, der Rest bleibt auf der Platte. 40 / 80

57 Swapping löst das Problem, mehrere Prozesse gleichzeitig im Speicher zu halten und bei Bedarf ein-/ und auszulagern. Was muss aber getan werden, wenn ein einzelner Prozess mehr Speicherplatz braucht, als der Hauptspeicher gross ist? Früher wurde das Problem dadurch gelöst, dass der Programmierer explizit sein Programm in Stücke zerlegte, die jeweils in den Hauptspeicher passten. Das Betriebssystem übernahm das Laden der einzelnen Programmstücke. Heute gibt es dazu das Konzept der virtuellen Speicher: Ein Programm (Code, Daten, Stack und Heap) kann beliebig gross sein, das Betriebssystem lädt immer nur die gerade benötigten Teile in den Hauptspeicher, der Rest bleibt auf der Platte. 40 / 80

58 Paging Paging In Programmen werden Daten angesprochen, indem eine Speicheradresse verwendet wird IN STORE 10 Speicheradresse 3 03 IN STORE 11 Speicheradresse 5 05 SUB JUMPPOS Diese Adressen werden von HAL als die absoluten Adresse seines Speichers verstanden. Damit sind keine Programme möglich, die mehr als n (=Grösse des Speichers) Daten zu einem Zeitpunkt benötigen. Wenn HAL mit virtuellen Adressen umgehen könnte und der Rechner bei einem Zugriff eine Umrechnung in eine physikalische Adresse durchführen könnte, wäre die o.a. Restriktion nicht mehr vorhanden. 41 / 80

59 Paging Paging In Programmen werden Daten angesprochen, indem eine Speicheradresse verwendet wird IN STORE 10 Speicheradresse 3 03 IN STORE 11 Speicheradresse 5 05 SUB JUMPPOS Diese Adressen werden von HAL als die absoluten Adresse seines Speichers verstanden. Damit sind keine Programme möglich, die mehr als n (=Grösse des Speichers) Daten zu einem Zeitpunkt benötigen. Wenn HAL mit virtuellen Adressen umgehen könnte und der Rechner bei einem Zugriff eine Umrechnung in eine physikalische Adresse durchführen könnte, wäre die o.a. Restriktion nicht mehr vorhanden. 41 / 80

60 Paging MMU Moderne Prozessoren verfügen dazu über eine MMU (memory management unit): Wird eine (virtuelle) Adresse im Programm angesprochen, wandelt die MMU sie in eine physische Adresse des Hauptspeichers um. Der virtuelle Adressraum ist dabei in Einheiten, so genannte Seiten, unterteilt. Die korrespondierenden Einheiten (gleicher Grösse) im Speicher heissen Seitenrahmen. 42 / 80

61 Paging MMU Moderne Prozessoren verfügen dazu über eine MMU (memory management unit): Wird eine (virtuelle) Adresse im Programm angesprochen, wandelt die MMU sie in eine physische Adresse des Hauptspeichers um. Der virtuelle Adressraum ist dabei in Einheiten, so genannte Seiten, unterteilt. Die korrespondierenden Einheiten (gleicher Grösse) im Speicher heissen Seitenrahmen. 42 / 80

62 Paging 2 MMUs im HAL eine MMU zur Umrechnung der virtuellen Registeradressen in physische HAL-Register eine MMU zur Umrechnung der virtuellen Programmspeicherzellen in physische HAL-Programmspeicherzellen 43 / 80

63 Paging Seitentabelle Zur Umrechnung von virtuellen in physische Adresse braucht die MMU eine Seitentabelle: Die Seitentabelle bei einem Rechner mit 16 Bit Adressen und 4k Seitengrösse ist dargestellt: Es können 2 16 = 64k virtuelle Adressen angesprochen werden. Wenn der Rechner über nur 32k Speicherzellen verfügt, muss eine Abbildung der o.a. Art erfolgen. Auf der Platte ist der gesamte Speicher von 64k Speicherzellen vorhanden; es wird aber immer nur 32k in den Hauptspeicher geladen. In der Seitentabelle wird vermerkt, welche Seite aktuell im Speicher ist. 44 / 80

64 Paging Wird z.b. LOAD 10 im Programm ausgeführt, so ermittelt die MMU aus der 10 und der Seitentabelle den Seitenrahmen 1 und die physische Adresse 4k+10= =4106 wird geladen. Wird eine ausgeblendete Adresse, z.b LOAD 8285 (Seite nicht im Speicher, absent = NULL) angesprochen, wird ein Seitenfehler erzeugt und das Betriebssystem lagert eine Seite aus und die benötigte Seite ein. Zu beantworten sind Fragen wie: 1 Wie ist die Seitentabelle zu organisieren, so dass die Umrechnung schnell erfolgt? 2 Welche Seite soll bei einem Seitenfehler ausgelagert werden? 45 / 80

65 Paging Wird z.b. LOAD 10 im Programm ausgeführt, so ermittelt die MMU aus der 10 und der Seitentabelle den Seitenrahmen 1 und die physische Adresse 4k+10= =4106 wird geladen. Wird eine ausgeblendete Adresse, z.b LOAD 8285 (Seite nicht im Speicher, absent = NULL) angesprochen, wird ein Seitenfehler erzeugt und das Betriebssystem lagert eine Seite aus und die benötigte Seite ein. Zu beantworten sind Fragen wie: 1 Wie ist die Seitentabelle zu organisieren, so dass die Umrechnung schnell erfolgt? 2 Welche Seite soll bei einem Seitenfehler ausgelagert werden? 45 / 80

66 Paging Organisation von Seitentabellen Zur Umrechnung von virtuellen Adressen in physikalische Adressen wird die virtuelle Adresse zweigeteilt: Die Seitennummer der virtuellen Adresse dient als Index in der Seitentabelle, um den Seitenrahmen zu finden; der Offset dient dann dazu, die physische Adresse zu finden. 46 / 80

67 Paging Virtuelle Adresse physische Adresse Das folgende Bild verdeutlicht, wie aus einer virtuellen Adresse mittels Seitennummer, Offset und Seitentabelle, die physische Adresse gefunden wird: 16 Bit Adressen mit 12 Bit Offset, Seitennummer dient als Index in der Seitentabelle 47 / 80

68 Paging Zwei Hauptprobleme treten auf: die Seitentabelle kann sehr gross werden: Moderne Prozessoren haben virtuelle Speicher mit 32 Bit. Bei 4k Seitengrösse besitzt ein 32 Bit Adressraum 1 Million Seiten. Daher muss die Seitentabelle 1 Million (2 32 /(4 1024)) Einträge haben. Da jeder Prozess seine eigene Seitentabelle hat, sind mehrere Millionen Einträge gleichzeitig zu halten. die Umrechnung muss schnell erfolgen: Die meisten Instruktionen eines Prozessors haben mehr als eine Adresse (oft 2 und mehr Operanden). Daher ist die Umrechnung meist zwei- oder mehrmals erforderlich. Bei angenommenen 5 nsec pro Instruktion (Hochleistungsprozessors) muss die Umrechnung in wenigen Nanosekunden erfolgen. Zur Lösung der beiden Probleme sind auf Hardwareebene unterschiedliche Lösungen entwickelt worden ( Mikroprozessortechnik). 48 / 80

69 Paging Ein Eintrag der Seitentabelle umfasst im Prinzip folgende Informationen: Das Present/Absent Bit gibt an, ob der Eintrag benutzt werden darf. Ist das Bit 0 (=absent), so ist die virtuelle Seite nicht im Speicher; es entsteht ein Seitenfehler (Seite muss zuerst geladen werden). Das Schutzbit zeigt an, ob die Seite nur gelesen oder auch geschrieben werden darf. Wird auf die Seite geschrieben, wird von der Hardware das Modifiziertbit gesetzt. Das Betriebssystem muss alle Seiten auf Platte schreiben, die dieses Bit gesetzt haben, die anderen nicht. Das Referenziertbit wird gesetzt, wenn lesend oder schreibend auf die Seite zugegriffen wird. Das Betriebssystem verwendet die Information, um Seiten auszuwählen, die bei Seitenfehler auszulagern sind. (Es wird von Hardware gesetzt, von Software gelöscht später). Das Cachingbit kann verwendet werden, um zu entscheiden, ob für Seiten ein Cache verwendet werden soll oder nicht. 49 / 80

70 Paging Gegeben sei folgende Seitentabelle, wobei eine Seite aus 1k Worten besteht: Modifiziert referenziert Schutz present Seitenrahmen rw rw rw r 1 2 Wir gehen von 16 Bit Adressen aus, wobei der Offset 10 Bit hat. Im Speicher stehe in der Speicherzelle i der Wert i Gegeben sei folgendes HAL-Programmfragment: 110 LOAD // virtuelle Adresse 120 SUBNUM STORE // virtuelle Adresse Aufgabe: Was macht das o.a. HAL Programmfragment (Operanden sind binär angegeben) und wie verändert sich der Hauptspeicherinhalt? 50 / 80

71 Paging Gegeben sei folgende Seitentabelle, wobei eine Seite aus 1k Worten besteht: Modifiziert referenziert Schutz present Seitenrahmen rw rw rw r 1 2 Wir gehen von 16 Bit Adressen aus, wobei der Offset 10 Bit hat. Im Speicher stehe in der Speicherzelle i der Wert i Gegeben sei folgendes HAL-Programmfragment: 110 LOAD // virtuelle Adresse 120 SUBNUM STORE // virtuelle Adresse Aufgabe: Tritt bei dem HAL-Programm ein Seitenfehler auf, wenn ja wann? 51 / 80

72 Paging mit Assoziativspeicher Paging mit Assoziativspeicher Die Performance eines Prozessors hängt u.a. davon ab, wie effizient der Seitenrahmen einer virtuellen Seite gefunden wird. Da die Seitentabelle i.a. sehr gross ist, aber bei sequentiellen Programmen i.a. nur auf eine kleine Menge von Seiten auf einmal zugegriffen wird, ist häufig eine Caching-Technick in die MMU hardwareseitig integriert. Dieser so genannte Assoziativspeicher (auch Translation lookaside buffer genannt) hat folgenden Aufbau (zwischen 16 und 64 Einträge): Gültigkeitsbit Virtuelle Seitennummer Modifiziertbit Schutzbit Seitenrahmennumme 52 / 80

73 Paging mit Assoziativspeicher Arbeitsweise bei Zugriff auf virtuelle Adresse: 1 Hardware prüft, ob Eintrag für die virtuelle Seite im Assoziativspeicher ist. 2 Ist dies der Fall und das Gültigkeitsbit gesetzt, wird der Seitenrahmen zurück gegeben (Schutzbits werden auch geprüft). Dabei braucht die Seitentabelle nicht gelesen zu werden. 3 Ist die virtuelle Seitennummer nicht im Assoziativspeicher, wird die Seitentabelle gelesen, der Assoziativspeicher wird um die Seitentabelleneinträge aktualisiert und der Seitenrahmen zurück gegeben. Der aus dem Assoziativspeicher entfernte Eintrag wird mit der Seitentabelle synchronisiert (ist im Assoziativspeicher das Modifiziertbit gesetzt, muss dies in die Seitentabelle eingetragen werden). 53 / 80

74 Paging mit Assoziativspeicher Gegeben sei der folgende Inhalt des Assoziativspeichers (der Grösse 2): virt. Seite modifiziert Schutz Seitenrahment gültig 2 1 rw rw 3 1 und die Seitentabelle, wobei eine Seite 256 Worte umfasst ist. Wir gehen von 8 Bit Adressen aus, wobei der Offset 6 Bit hat. modifiziert referenziert Schutz present Seitenrahmen rw rw rw r 1 2 Wir gehen von 8 Bit Adressen aus, wobei der Offset 6 Bit hat. Im Speicher stehe in der Speicherzelle i der Wert i. 110 LOAD SUBNUM STORE Aufgabe: Was macht dann das HAL Programmfragment und wie ändert sich der Assoziativspeicher? 54 / 80

75 Paging mit Assoziativspeicher Arbeitsweise bei Kontextwechsel Bei Mehrprogrammbetrieb existiert für jeden Adressraum eine Seitentabelle. Bei einem Kontextwechsel muss 1 die Anfangsadresse der Seitentabelle in die MMU geladen werden und 2 der Assoziativspeicher invalidiert werden (er baut sich für den aktuellen Prozess dann langsam wieder auf). 55 / 80

76 Paging - Seitenersetzungsverfahren Paging - Seitenersetzungsverfahren Ein Seitenfehler (Zugriff auf Adresse, deren Seite nicht im Hauptspeicher ist) bewirkt, dass das Betriebssystem eine Seite auswählt, die aus dem Speicher entfernt wird, um Platz für die neu einzulagernde Seite zu schaffen. Aktivitäten: 1 Wähle auszulagernde Seite n aus. 2 Wenn n seit der Einlagerung modifiziert wurde, ist ein Update des korrespondierenden Seitenrahmens auf der Platte vorzunehmen. (eine nicht modifizierte Seite ist z.b. eine Seite mit Programmtext) 3 Ersetze n durch die neue Seite. Im Folgende werden Verfahren zur Realisierung des Schrittes 1 diskutiert. 56 / 80

77 Paging - Seitenersetzungsverfahren Seitenersetzungsverfahren benutzen dabei das Modifiziert-, Schutz und das Referenziertbit wie folgt: 1 Wird ein Prozess gestartet, werden alle Present/Absent-Bits auf 0 gesetzt (Seite nicht im Speicher). 2 Wird eine Seite referenziert und das Present/Absent-Bits ist 0, tritt ein Seitenfehler auf. 3 Das Present/Absent-Bit wird auf 1 gesetzt. 4 Der Seitentabelleneintrag wird auf die Nummer des entsprechenden Seitenrahmens aktualisiert. 5 Das Schutzbit wird auf r (für read) gesetzt. 6 Wird die Seite verändert und das Schutzbit ist nicht gesetzt, tritt ein Seitenfehler auf und das Modifiziertbit wird gesetzt und das Schutzbit auf rw gesetzt. 57 / 80

78 Paging - Seitenersetzungsverfahren Zufallsauswahl Verfahren: 1 Wähle mit Hilfe eines Zufallszahlengenerators eine Seite aus. Beurteilung: Das Verfahren ist einfach zu implementieren. Die Performance ist mit hoher Wahrscheinlichkeit schlecht, da eine häufig benutzte Seite u.u. ständig aus- und dann wieder eingelagert wird Seitenflattern. Seite mit Programmtext, etwa 1 main (){ while (1) { 4 f() häufig benutzt } 7 } 58 / 80

79 Paging - Seitenersetzungsverfahren Zufallsauswahl Verfahren: 1 Wähle mit Hilfe eines Zufallszahlengenerators eine Seite aus. Beurteilung: Das Verfahren ist einfach zu implementieren. Die Performance ist mit hoher Wahrscheinlichkeit schlecht, da eine häufig benutzte Seite u.u. ständig aus- und dann wieder eingelagert wird Seitenflattern. Seite mit Programmtext, etwa 1 main (){ while (1) { 4 f() häufig benutzt } 7 } 58 / 80

80 Paging - Seitenersetzungsverfahren Optimaler Algorithmus Verfahren: 1 Tritt ein Seitenfehler auf, so befinden sich m Seiten im Speicher. Eine Seite wird durch die aktuelle Instruktion referenziert (die Seite, die die Instruktion enthält). Die m-1 Seiten werden erst viele Instruktionen später referenziert. 2 Markiere die m-1 Seiten mit der Anzahl der Instruktionen, die ausgeführt werden, bevor die Seite zum ersten Mal referenziert wird. 3 Entferne die Seite mit der grössten Markierung (sie wird ja zuletzt gebraucht). Beurteilung: Das Verfahren ist optimal, da eine Seite erst zum spätesten Zeitpunkt eingelagert wird. Leider ist das Verfahren nicht implementierbar, da die Markierung (Anzahl der Instruktionen) nicht ermittelbar ist (wieso eigentlich?). 59 / 80

81 Paging - Seitenersetzungsverfahren Optimaler Algorithmus Verfahren: 1 Tritt ein Seitenfehler auf, so befinden sich m Seiten im Speicher. Eine Seite wird durch die aktuelle Instruktion referenziert (die Seite, die die Instruktion enthält). Die m-1 Seiten werden erst viele Instruktionen später referenziert. 2 Markiere die m-1 Seiten mit der Anzahl der Instruktionen, die ausgeführt werden, bevor die Seite zum ersten Mal referenziert wird. 3 Entferne die Seite mit der grössten Markierung (sie wird ja zuletzt gebraucht). Beurteilung: Das Verfahren ist optimal, da eine Seite erst zum spätesten Zeitpunkt eingelagert wird. Leider ist das Verfahren nicht implementierbar, da die Markierung (Anzahl der Instruktionen) nicht ermittelbar ist (wieso eigentlich?). 59 / 80

82 Paging - Seitenersetzungsverfahren Not recently used (NRU) Das Betriebssystem teilt alle Seiten in 4 Kategorien/Klassen ein: Klasse referenziert modifiziert Die Idee ist, besser eine nicht referenzierte Seite auszuwählen, als eine modifizierte. Verfahren: 1 Periodisch (etwa bei jeder Unterbrechung) werden alle Seiten als nicht referenziert gesetzt. 2 Bei einem Seitenfehler werden alle Seiten untersucht und einer der o.g. Kategorien zugeordnet. 3 Ausgewählt (zum Auslagern) wird eine zufällige Seite aus der kleinsten nicht leeren Klasse bzgl. der o.g. Kategorie. Beurteilung: Leicht zu verstehen, effiziente Implementierung möglich. 60 / 80

83 Paging - Seitenersetzungsverfahren Not recently used (NRU) Das Betriebssystem teilt alle Seiten in 4 Kategorien/Klassen ein: Klasse referenziert modifiziert Die Idee ist, besser eine nicht referenzierte Seite auszuwählen, als eine modifizierte. Verfahren: 1 Periodisch (etwa bei jeder Unterbrechung) werden alle Seiten als nicht referenziert gesetzt. 2 Bei einem Seitenfehler werden alle Seiten untersucht und einer der o.g. Kategorien zugeordnet. 3 Ausgewählt (zum Auslagern) wird eine zufällige Seite aus der kleinsten nicht leeren Klasse bzgl. der o.g. Kategorie. Beurteilung: Leicht zu verstehen, effiziente Implementierung möglich. 60 / 80

84 Paging - Seitenersetzungsverfahren First-In, First-Out (FIFO) Die Idee ist, die Seiten als FIFO Speicher (verkettete Liste mit beschränkter Grösse k) von aktuell im Speicher befindlichen Seiten zu verwalten, wobei die älteste Seite am Anfang steht: Auslagern: älteste Seite am Kopf entfernen Einlagern: am Ende einfügen Verfahren: 1 Bei Seitenfehler wird die (älteste) Seite am Kopf der Liste entfernt 2 die eingelagerte Seite wird am Ende eingefügt. Beurteilung: Intensiv genutzte Seiten werden genauso behandelt, wie wenig benutzte. In dieser einfachen Form wird FIFO in der Praxis nicht eingesetzt. 61 / 80

85 Paging - Seitenersetzungsverfahren First-In, First-Out (FIFO) Die Idee ist, die Seiten als FIFO Speicher (verkettete Liste mit beschränkter Grösse k) von aktuell im Speicher befindlichen Seiten zu verwalten, wobei die älteste Seite am Anfang steht: Auslagern: älteste Seite am Kopf entfernen Einlagern: am Ende einfügen Verfahren: 1 Bei Seitenfehler wird die (älteste) Seite am Kopf der Liste entfernt 2 die eingelagerte Seite wird am Ende eingefügt. Beurteilung: Intensiv genutzte Seiten werden genauso behandelt, wie wenig benutzte. In dieser einfachen Form wird FIFO in der Praxis nicht eingesetzt. 61 / 80

86 Paging - Seitenersetzungsverfahren FIFO mit Berücksichtigung des Referenziertbit Berücksichtigt man bei dem FIFO Verfahren das Referenziertbit, so wird das Problem des Auslagerns intensiv genutzter Seiten vermieden. Das Verfahren wird auch als Second-Chance bezeichnet. Verfahren: 1 Bei Seitenfehler wird die Seite am Kopf der Liste untersucht. 2 Ist das Referenziertbit des Kopfelementes 0, wird das Kopfelement gelöscht; ansonsten wird das Kopfelement am Ende neu eingefügt, sein Referenziertbit auf 0 gesetzt und das jetzt neue Kopfelement wird untersucht. 3 Punkt 2 wird wiederholt, bis ein Kopfelement gefunden ist, das gelöscht werden kann. Beurteilung: Insgesamt wird dadurch die älteste Seite gesucht, die seit der letzten Unterbrechung nicht mehr referenziert wurde. Relativ einfach zu realisieren. Aufwand zum Verschieben der Seiten (Elemente der Liste) relativ hoch. 62 / 80

87 Paging - Seitenersetzungsverfahren FIFO mit Berücksichtigung des Referenziertbit Berücksichtigt man bei dem FIFO Verfahren das Referenziertbit, so wird das Problem des Auslagerns intensiv genutzter Seiten vermieden. Das Verfahren wird auch als Second-Chance bezeichnet. Verfahren: 1 Bei Seitenfehler wird die Seite am Kopf der Liste untersucht. 2 Ist das Referenziertbit des Kopfelementes 0, wird das Kopfelement gelöscht; ansonsten wird das Kopfelement am Ende neu eingefügt, sein Referenziertbit auf 0 gesetzt und das jetzt neue Kopfelement wird untersucht. 3 Punkt 2 wird wiederholt, bis ein Kopfelement gefunden ist, das gelöscht werden kann. Beurteilung: Insgesamt wird dadurch die älteste Seite gesucht, die seit der letzten Unterbrechung nicht mehr referenziert wurde. Relativ einfach zu realisieren. Aufwand zum Verschieben der Seiten (Elemente der Liste) relativ hoch. 62 / 80

88 Paging - Seitenersetzungsverfahren Beispiel: FIFO mit Berücksichtigung des Referenziertbit 1 Ausgangssituation: Seite 11 soll eingelagert werden Seitenrahmen,Referenziertbit Kopf 0,0 3,1 1,0 18,0 2 R-Bit ist 0, Kopfelement wird einfach gelöscht, neue Seite 11 wird hinten eingefügt Kopf 3,1 1,0 18,0 11,1 63 / 80

89 Paging - Seitenersetzungsverfahren Beispiel: FIFO mit Berücksichtigung des Referenziertbit 1 Ausgangssituation: Seite 11 soll eingelagert werden Seitenrahmen,Referenziertbit Kopf 0,0 3,1 1,0 18,0 2 R-Bit ist 0, Kopfelement wird einfach gelöscht, neue Seite 11 wird hinten eingefügt Kopf 3,1 1,0 18,0 11,1 3 Seite 17 soll eingelagert werden. R-Bit ist 1, Seite wird hinten eingefügt. Kopf 1,0 18,0 11,1 3,0 R-Bit ist 0, Kopfelemet wird gelöscht, Seite hinten eingefügt Kopf 18,0 11,1 3,0 17,1 63 / 80

90 Paging - Seitenersetzungsverfahren Beispiel: FIFO mit Berücksichtigung des Referenziertbit 1 Ausgangssituation: Seite 11 soll eingelagert werden Seitenrahmen,Referenziertbit Kopf 0,0 3,1 1,0 18,0 2 R-Bit ist 0, Kopfelement wird einfach gelöscht, neue Seite 11 wird hinten eingefügt Kopf 3,1 1,0 18,0 11,1 3 Seite 17 soll eingelagert werden. R-Bit ist 1, Seite wird hinten eingefügt. Kopf 1,0 18,0 11,1 3,0 R-Bit ist 0, Kopfelemet wird gelöscht, Seite hinten eingefügt Kopf 18,0 11,1 3,0 17,1 63 / 80

91 Paging - Seitenersetzungsverfahren Uhr Seitenersetzung Dieses Verfahren ist mit dem letzten Verfahren vergleichbar; es unterscheidet sich nur in der Implementierung: man verwendet eine zyklische Liste mit einem Zeiger auf das Kopfelement : Verfahren: Kopfelement, wird untersucht: 1 R=0: lagere Seite aus und setze neue Seite an diese Stelle, Schalte Kopfzeiger weiter 2 R=1: Lösche R und rücke Zeiger vor 3 Wiederhole Schritt 1 bis Fall R=0 eingetreten ist 64 / 80

92 Paging - Seitenersetzungsverfahren Least recently used (LRU) Der LRU Algorithmus geht davon aus, dass Seiten, die durch die letzte Instruktion benutzt wurden, mit grosser Wahrscheinlichkeit auch in Zukunft benutzt werden und umgekehrt, dass Seiten die schon lange nicht mehr benutzt werden, auch in Zukunft nicht verwendet werden. Idee: Bei einem Seitenfehler wird die am längsten nicht mehr benutzte Seite entfernt. Verfahren: 1 Seiten werden als verkettete Liste verwaltet. 2 Am Anfang der Liste steht die aktuelle Seite am Ende die am längsten nicht mehr benutzte Seite. 3 Bei Seitenfehler wird das Element am Ende gelöscht. 4 Bei Zugriff auf Referenz wird die Seite in der verketteten Liste gesucht und an den Anfang verschoben, bzw. neu am Anfang eingefügt. Beurteilung: Punkt 4 im o.g. Verfahren ist zeitaufwendig. Auch mit Spezialhardware für MMU ist Punkt 4 aufwendig. Der Algorithmus ist (fast) so gut, wie der optimale Algorithmus. 65 / 80

93 Paging - Seitenersetzungsverfahren Least recently used (LRU) Der LRU Algorithmus geht davon aus, dass Seiten, die durch die letzte Instruktion benutzt wurden, mit grosser Wahrscheinlichkeit auch in Zukunft benutzt werden und umgekehrt, dass Seiten die schon lange nicht mehr benutzt werden, auch in Zukunft nicht verwendet werden. Idee: Bei einem Seitenfehler wird die am längsten nicht mehr benutzte Seite entfernt. Verfahren: 1 Seiten werden als verkettete Liste verwaltet. 2 Am Anfang der Liste steht die aktuelle Seite am Ende die am längsten nicht mehr benutzte Seite. 3 Bei Seitenfehler wird das Element am Ende gelöscht. 4 Bei Zugriff auf Referenz wird die Seite in der verketteten Liste gesucht und an den Anfang verschoben, bzw. neu am Anfang eingefügt. Beurteilung: Punkt 4 im o.g. Verfahren ist zeitaufwendig. Auch mit Spezialhardware für MMU ist Punkt 4 aufwendig. Der Algorithmus ist (fast) so gut, wie der optimale Algorithmus. 65 / 80

94 Paging - Seitenersetzungsverfahren Hörsaalübung Wie verändert sich die u.a. Liste bei LRU wenn das folgende HAL Programm ausgeführt wird? Dabei bedeute LOAD, STORE,... x n dass x ein Register der Seite n ist. LOAD a 2 ADD b 1 STORE c 4 LOAD d 3 SUB a 5 STORE x 1 Anfang Ende 66 / 80

95 Paging - Design der Systeme Paging - Arbeitsbereich-Modell Bei Time-Sharing Systemen werden Prozesse häufig zwischen Platte und Speicher hin- und hergeschoben. demand paging Wird ein Prozess wieder in den Speicher geholt, kann bei einem Zugriff auf eine Referenz, die entsprechende Seite eingelagert werden. Working-Set Die Menge an Seiten, die ein Prozess zu einem Zeitpunkt benutzt, wird Working-Set oder Arbeitsbereich genannt. Viele Paging-Systeme verwenden nicht reines Demand Paging, sondern merken sich den Arbeitsbereich und lagern diese Verwaltungsinformation mit aus und ein. Damit wird die Fehlerrate stark gesenkt. 67 / 80

96 Paging - Design der Systeme Paging - Seitengrösse Die Seitengröße ist bei Betriebssystemen eine Größe, die von unterschiedlichen Faktoren bestimmt wird: Hardware setzt Allokationseinheiten fest (z.b. werden in einem Zyklus 512 Byte gelesen). Anzahl Register, die für Seitentabelle verfügbar sind. Prozesswechsel bewirken das Laden der Seitentabelle. 68 / 80

97 Paging - Design der Systeme Wenn man von einem Programm zufällig einen Teil (Segment) auswählt, wird nicht immer eine ganze Anzahl von Seiten gefüllt. Im Durchschnitt wird die letzte Hälfte der letzten Seite leer sein (dies wird interne Fragmentierung genannt): Mit n Segmenten im Speicher und einer Seitengrösse von p Byte, gehen n*p/2 Byte durch interne Fragmentierung verloren. Also ist eine kleine Seitengröße besser bzgl. interner Fragmentierung. Kleine Seiten bewirken aber, dass die Seitentabelle groß wird. Normalerweise wird immer in einem Zyklus eine Seite von der Festplatte in den Speicher geladen, wobei die meiste Zeit für das Suchen der Seite vergeht. Der eigentliche Ladevorgang ist für größere Seiten genauso schnell wie für kleine Seiten. Also sind bzgl. der Ladezeit eine größere Seiten zu bevorzugen. 69 / 80

Leichtgewichtsprozesse

Leichtgewichtsprozesse Leichtgewichtsprozesse häufiger Prozeßwechsel stellt in einem Betriebssystem eine hohe Belastung dar; auch erfordert die Generierung eines neuen Prozesses viele System-Resourcen in vielen Anwendungen werden

Mehr

Leichtgewichtsprozesse

Leichtgewichtsprozesse Leichtgewichtsprozesse häufiger Prozeßwechsel stellt in einem Betriebssystem eine hohe Belastung dar; auch erfordert die Generierung eines neuen Prozesses viele System-Resourcen in vielen Anwendungen werden

Mehr

RO-Tutorien 15 und 16

RO-Tutorien 15 und 16 Tutorien zur Vorlesung Rechnerorganisation Tutorienwoche 10 am 29.06.2011 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft

Mehr

Technische Realisierung (1)

Technische Realisierung (1) Technische Realisierung () Einfachstes Modell: Prozess (Daten+Code) befindet sich im Hintergrundspeicher Bei teilweise eingelagerten Prozessen: Zusätzlich Teile im Hauptspeicher Logische Adressen überdecken

Mehr

Tutorium Rechnerorganisation

Tutorium Rechnerorganisation Woche 11 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Mehr

Teil 2: Speicherstrukturen

Teil 2: Speicherstrukturen Inhalt Teil 2: Speicherstrukturen Hauptspeicher Cache Assoziativspeicher Speicherverwaltungseinheit ( Memory Management Unit ) 1 Virtueller Speicher Trennung von virtuellem Adreßraum (mit virtuellen Adressen)

Mehr

Wunschvorstellung der Entwickler vom Speicher

Wunschvorstellung der Entwickler vom Speicher Wunschvorstellung der Entwickler vom Speicher Unendlich groß Unendlich schnell Nicht flüchtig billig Obwohl sich der verfügbare Speicher laufend erhöht, wird immer mehr Speicher benötigt, als verfügbar

Mehr

2.3 Prozessverwaltung

2.3 Prozessverwaltung Realisierung eines Semaphors: Einem Semaphor liegt genau genommen die Datenstruktur Tupel zugrunde Speziell speichert ein Semaphor zwei Informationen: Der Wert des Semaphors (0 oder 1 bei einem binären

Mehr

Speicherverwaltung (Swapping und Paging)

Speicherverwaltung (Swapping und Paging) Speicherverwaltung (Swapping und Paging) Rückblick: Segmentierung Feste Einteilung des Speichers in einzelne Segmente 750k 0 Rückblick: Segmentierung Feste Einteilung des Speichers in einzelne Segmente

Mehr

Paging. Einfaches Paging. Paging mit virtuellem Speicher

Paging. Einfaches Paging. Paging mit virtuellem Speicher Paging Einfaches Paging Paging mit virtuellem Speicher Einfaches Paging Wie bisher (im Gegensatz zu virtuellem Speicherkonzept): Prozesse sind entweder ganz im Speicher oder komplett ausgelagert. Im Gegensatz

Mehr

Betriebssysteme I WS 2016/2017. Betriebssysteme / verteilte Systeme Tel.: 0271/ , Büro: H-B 8404

Betriebssysteme I WS 2016/2017. Betriebssysteme / verteilte Systeme Tel.: 0271/ , Büro: H-B 8404 Betriebssysteme I WS 2016/2017 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 2. Februar 2017 Betriebssysteme / verteilte Systeme Betriebssysteme

Mehr

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Version 21.12.2016 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten von Betriebssystemen

Mehr

Übung zu Einführung in die Informatik # 10

Übung zu Einführung in die Informatik # 10 Übung zu Einführung in die Informatik # 10 Tobias Schill tschill@techfak.uni-bielefeld.de 15. Januar 2016 Aktualisiert am 15. Januar 2016 um 9:58 Erstklausur: Mi, 24.02.2016 von 10-12Uhr Aufgabe 1* a),

Mehr

Betriebssysteme Teil 10 B: Fragen rund um Seitenfehler

Betriebssysteme Teil 10 B: Fragen rund um Seitenfehler Betriebssysteme Teil 10 B: Fragen rund um Seitenfehler 1 Überlegungen Wenn wir einige Seiten eines Programms in den Speicher laden, brauchen wir eine Strategie, welche Seiten als nächstes geladen werden

Mehr

Freispeicherverwaltung Martin Wahl,

Freispeicherverwaltung Martin Wahl, Freispeicherverwaltung Martin Wahl, 17.11.03 Allgemeines zur Speicherverwaltung Der physikalische Speicher wird in zwei Teile unterteilt: -Teil für den Kernel -Dynamischer Speicher Die Verwaltung des dynamischen

Mehr

Übung Praktische Informatik II

Übung Praktische Informatik II Übung Praktische Informatik II FSS 2009 Benjamin Guthier Lehrstuhl für Praktische Informatik IV Universität Mannheim guthier@pi4.informatik.uni-mannheim.de 22.05.09 11-1 Heutige große Übung Ankündigung

Mehr

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Wolfram Burgard

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Wolfram Burgard Systeme I: Betriebssysteme Kapitel 4 Prozesse Wolfram Burgard Version 18.11.2015 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten von Betriebssystemen

Mehr

(Cache-Schreibstrategien)

(Cache-Schreibstrategien) Übungsblatt 2 Aufgabe 1 (Digitale Datenspeicher) 1. Nennen Sie einen digitalen Datenspeicher, der mechanisch arbeitet. 2. Nennen Sie zwei rotierende magnetische digitale Datenspeicher. 3. Nennen Sie zwei

Mehr

Virtueller Speicher und Memory Management

Virtueller Speicher und Memory Management Virtueller Speicher und Memory Management Speicher-Paradigmen Programmierer ein großer Adressraum linear adressierbar Betriebssystem eine Menge laufender Tasks / Prozesse read-only Instruktionen read-write

Mehr

Besprechung des 9. Übungsblattes Virtuelle Speicherverwaltung Aufgaben

Besprechung des 9. Übungsblattes Virtuelle Speicherverwaltung Aufgaben Themen heute Besprechung des 9. Übungsblattes Virtuelle Speicherverwaltung Aufgaben Besprechung des 9. Übungsblattes Aufgabe 2 Ist in einer Aufgabe wie hier keine explizite Wortbreite angegeben, nicht

Mehr

Konzepte von Betriebssystemkomponenten Referat am Thema: Adressräume, Page Faults, Demand Paging, Copy on Write Referent: Johannes Werner

Konzepte von Betriebssystemkomponenten Referat am Thema: Adressräume, Page Faults, Demand Paging, Copy on Write Referent: Johannes Werner Konzepte von Betriebssystemkomponenten Referat am 24.11.2003 Thema: Adressräume, Page Faults, Demand Paging, Copy on Write Referent: Johannes Werner Gliederung Adressräume Page Faults Demand Paging Copy

Mehr

RO-Tutorien 17 und 18

RO-Tutorien 17 und 18 RO-Tutorien 17 und 18 Tutorien zur Vorlesung Rechnerorganisation Christian A. Mandery TUTORIENWOCHE 12 AM 19.07.2012 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der

Mehr

Betriebssysteme BS-S SS Hans-Georg Eßer. Foliensatz S: Speicherverwaltung. Dipl.-Math., Dipl.-Inform. v1.0, 2015/04/14

Betriebssysteme BS-S SS Hans-Georg Eßer. Foliensatz S: Speicherverwaltung. Dipl.-Math., Dipl.-Inform. v1.0, 2015/04/14 BS-S Betriebssysteme SS 2015 Hans-Georg Eßer Dipl.-Math., Dipl.-Inform. Foliensatz S: Speicherverwaltung v1.0, 2015/04/14 Betriebssysteme, SS 2015 Hans-Georg Eßer Folie S-1 Übersicht: BS Praxis und BS

Mehr

Lösung von Übungsblatt 2

Lösung von Übungsblatt 2 Lösung von Übungsblatt 2 Aufgabe 1 (Digitale Datenspeicher) 1. Nennen Sie einen digitalen Datenspeicher, der mechanisch arbeitet. Lochstreifen, Lochkarte, CD/DVD beim Pressen. 2. Nennen Sie zwei rotierende

Mehr

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz Systeme I: Betriebssysteme Kapitel 4 Prozesse Maren Bennewitz Version 21.11.2012 1 Begrüßung Heute ist Tag der offenen Tür Willkommen allen Schülerinnen und Schülern! 2 Testat nach Weihnachten Mittwoch

Mehr

Naiver Ansatz. Blöcke und Seiten. Betriebssysteme I Sommersemester 2009 Kapitel 6: Speicherverwaltung und Dateisysteme

Naiver Ansatz. Blöcke und Seiten. Betriebssysteme I Sommersemester 2009 Kapitel 6: Speicherverwaltung und Dateisysteme Betriebssysteme I Sommersemester 2009 Kapitel 6: Speicherverwaltung und Dateisysteme Hans-Georg Eßer Hochschule München Teil 3: Zusammenhängende Speicherzuordnung 06/2009 Hans-Georg Eßer Hochschule München

Mehr

Echtzeitbetriebssysteme

Echtzeitbetriebssysteme Speicherverwaltung (Memory Management) Aufgaben der Memory-Management-Unit ist l der Speicherschutz und l die Adressumsetzung Wird durch Hardware unterstützt l Memory Management Unit (MMU) l MMU wird vom

Mehr

Lösung von Übungsblatt 2

Lösung von Übungsblatt 2 Lösung von Übungsblatt 2 Aufgabe 1 (Digitale Datenspeicher) 1. Nennen Sie einen digitalen Datenspeicher, der mechanisch arbeitet. Lochstreifen, Lochkarte, CD/DVD beim Pressen. 2. Nennen Sie zwei rotierende

Mehr

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung. Maren Bennewitz

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung. Maren Bennewitz Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Maren Bennewitz Version 29.1.214 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten

Mehr

Betriebssysteme. Dipl.-Ing.(FH) Volker Schepper

Betriebssysteme. Dipl.-Ing.(FH) Volker Schepper Speicherverwaltung Real Mode Nach jedem starten eines PC befindet sich jeder x86 (8086, 80386, Pentium, AMD) CPU im sogenannten Real Mode. Datenregister (16Bit) Adressregister (20Bit) Dadurch lassen sich

Mehr

7. Speicherverwaltung

7. Speicherverwaltung 7. Speicherverwaltung Ziele Zuteilung des Arbeitsspeicher Abbildung der symbolischen Adresse auf die physikalische Adresse Adress-Transformation Symbolische Adresse verschiebbare Adresse physikalische

Mehr

Fachbericht Thema: Virtuelle Speicherverwaltung

Fachbericht Thema: Virtuelle Speicherverwaltung Fachbericht 15.10.99 1 HINTERGRÜNDE/ MOTIVATION 2 2 FUNKTIONEN DER SPEICHERVERWALTUNG 2 3 ARTEN DER SPEICHERVERWALTUNG 2 3.1 STATISCHE SPEICHERVERWALTUNG 2 3.2 DYNAMISCHE SPEICHERVERWALTUNG 3 3.2.1 REALER

Mehr

Virtueller Speicher WS 2011/2012. M. Esponda-Argüero

Virtueller Speicher WS 2011/2012. M. Esponda-Argüero Virtueller Speicher WS / Virtuelle Speicher Bis jetzt sind wir davon ausgegangen, dass Prozesse komplett im Hauptspeicher gelagert werden. Speicherreferenzen sind nur logische Adressen, die dynamisch in

Mehr

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Version 11.01.2017 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, historische Entwicklung, unterschiedliche Arten von Betriebssystemen

Mehr

Betriebssysteme Kap J, Teil C: Paging, Pagereplacement

Betriebssysteme Kap J, Teil C: Paging, Pagereplacement Betriebssysteme Kap J, Teil C: Paging, Pagereplacement 1 Welche Seite soll ausgelagert werden? Ein- / Auslagern benötigt Zeit Kontextwechsel erforderlich» Wechsel zu einem BS-Prozess, welcher für das Management

Mehr

In heutigen Computern findet man schnellen/teuren als auch langsamen/billigen Speicher

In heutigen Computern findet man schnellen/teuren als auch langsamen/billigen Speicher Speicherhierarchie In heutigen Computern findet man schnellen/teuren als auch langsamen/billigen Speicher Register Speicherzellen, direkt mit der Recheneinheit verbunden Cache-Speicher Puffer-Speicher

Mehr

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Version 13.01.2015 1 Klausur Termin: 10. März 2016, 13:00 Uhr Raum: Audimax, KG 2 4 ECTS Punkte 3 Klausuranmeldung Anmeldefrist: 31.01.2016 (Ausnahme:

Mehr

5 Kernaufgaben eines Betriebssystems (BS)

5 Kernaufgaben eines Betriebssystems (BS) 5 Kernaufgaben eines Betriebssystems (BS) Betriebssystem ist eine Menge von Programmen, die die Abarbeitung anderer Programme auf einem Rechner steuern und überwachen, insbesondere verwaltet es die Hardware-Ressourcen

Mehr

Zwei Möglichkeiten die TLB zu aktualisieren

Zwei Möglichkeiten die TLB zu aktualisieren Zwei Möglichkeiten die TLB zu aktualisieren Die MMU kümmert sich um alles (Hardware-Lösung) sucht die p-entry wenn diese nicht da ist, behandelt direkt das TLB-miss zum Schluss wird die neue p-entry (virt

Mehr

Proseminar Konzepte von Betriebssystem- Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging

Proseminar Konzepte von Betriebssystem- Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging Proseminar Konzepte von Betriebssystem- Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging Grundlegende Bedeutung von Speicheradressierung: Wie sind die Daten auf Dem Speicher

Mehr

5.5 Virtueller Speicher

5.5 Virtueller Speicher 5.5 Virtueller Speicher Wenn der reale Speicher sogar für einzelne Prozesse zu klein ist : Virtueller Speicher (virtual memory), ist beliebig groß, nimmt alle Prozesse auf, ist in gleichgroße Teile Seiten

Mehr

Konzepte von Betriebssystem- Komponenten Olessia Usik 20. Juni 2005

Konzepte von Betriebssystem- Komponenten Olessia Usik 20. Juni 2005 Konzepte von Betriebssystem- Komponenten Olessia Usik olessia@freenet.de 20. Juni 2005 1 GROß 2 SCHNELL UNENDLICH Gliederung 1. Einleitung 2. Swapping 3. Virtuelle Speicherverwaltung 3.1 Segmentorientierter

Mehr

Überschrift. Speicherverwaltung. Prof. Dr. Margarita Esponda Freie Universität Berlin 2011/2012

Überschrift. Speicherverwaltung. Prof. Dr. Margarita Esponda Freie Universität Berlin 2011/2012 Überschrift Speicherverwaltung Prof. Dr. Margarita Esponda Freie Universität Berlin 2011/2012 1 Hauptziele: Speicherverwaltung Speicher ist die zweite wichtigste Ressource, die das Betriebssystem verwalten

Mehr

wichtigstes Betriebsmittel - neben dem Prozessor: Speicher

wichtigstes Betriebsmittel - neben dem Prozessor: Speicher Speicherverwaltung Aufgaben der Speicherverwaltung wichtigstes Betriebsmittel - neben dem Prozessor: Speicher Sowohl die ausführbaren Programme selbst als auch deren Daten werden in verschiedenen Speicherbereichen

Mehr

Betriebssysteme Studiengang Informatik / SAT

Betriebssysteme Studiengang Informatik / SAT Betriebssysteme Studiengang Informatik / SAT Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de http://www.miwilhelm.de Raum 2.202 Tel. 03943

Mehr

Klausur Betriebssysteme

Klausur Betriebssysteme Prof. Dr. Michael Jäger FB MNI Klausur Betriebssysteme 5.2.2016 Die Dauer der Klausur beträgt 90 Minuten. Es sind keine Unterlagen und Hilfsmittel erlaubt. Bitte bearbeiten Sie die Aufgaben soweit wie

Mehr

Cache Grundlagen. Schreibender Cache Zugriff. SS 2012 Grundlagen der Rechnerarchitektur Speicher 22

Cache Grundlagen. Schreibender Cache Zugriff. SS 2012 Grundlagen der Rechnerarchitektur Speicher 22 Cache Grundlagen Schreibender Cache Zugriff SS 212 Grundlagen der Rechnerarchitektur Speicher 22 Eine einfache Strategie Schreibt man nur in den Cache, werden Cache und darunter liegender Speicher inkonsistent.

Mehr

Betriebssysteme I WS 2013/2014. Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404

Betriebssysteme I WS 2013/2014. Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Betriebssysteme I WS 213/214 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 271/74-45, Büro: H-B 844 Stand: 2. Januar 214 Betriebssysteme / verteilte Systeme Betriebssysteme

Mehr

Kapitel VI. Speicherverwaltung. Speicherverwaltung

Kapitel VI. Speicherverwaltung. Speicherverwaltung Kapitel VI Speicherverwaltung 1 Speicherverwaltung Computer exekutiert Programme (mit Daten) im Hauptspeicher. Hauptspeicher: Großes Array von Wörtern (1 oder mehrere Bytes) Jedes Wort hat eine eigene

Mehr

é Er ist software-transparent, d.h. der Benutzer braucht nichts von seiner Existenz zu wissen. Adreßbus Cache- Control Datenbus

é Er ist software-transparent, d.h. der Benutzer braucht nichts von seiner Existenz zu wissen. Adreßbus Cache- Control Datenbus 4.2 Caches é Cache kommt aus dem Französischen: cacher (verstecken). é Er kann durch ein Anwendungsprogramm nicht explizit adressiert werden. é Er ist software-transparent, d.h. der Benutzer braucht nichts

Mehr

Quiz. Gegeben sei ein 16KB Cache mit 32 Byte Blockgröße. Wie verteilen sich die Bits einer 32 Bit Adresse auf: Tag Index Byte Offset.

Quiz. Gegeben sei ein 16KB Cache mit 32 Byte Blockgröße. Wie verteilen sich die Bits einer 32 Bit Adresse auf: Tag Index Byte Offset. Quiz Gegeben sei ein 16KB Cache mit 32 Byte Blockgröße. Wie verteilen sich die Bits einer 32 Bit Adresse auf: Tag Index Byte Offset 32 Bit Adresse 31 3 29... 2 1 SS 212 Grundlagen der Rechnerarchitektur

Mehr

Hauptspeicherverwaltung - Memory Management

Hauptspeicherverwaltung - Memory Management Hauptspeicherverwaltung - Memory Management Operating Systems I SS21 Prof. H.D.Clausen - unisal 1 Speicherhierarchie Verarbeitung cache Sekundär- Speicher Primär- Speicher ALU SS21 Prof. H.D.Clausen -

Mehr

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Version 16.1.217 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, historische Entwicklung, unterschiedliche Arten von Betriebssystemen

Mehr

Rechnergrundlagen SS Vorlesung

Rechnergrundlagen SS Vorlesung Rechnergrundlagen SS 2007 13. Vorlesung Inhalt Cache Lesen Schreiben Überschreiben Memory Management Unit (MMU) Translation Lookaside Buffer (TLB) Klausurvorbereitung Inhalte der Klausur Rechnergrundlagen

Mehr

Linker: Adreßräume verknüpfen. Informationen über einen Prozeß. Prozeß-Erzeugung: Verwandtschaft

Linker: Adreßräume verknüpfen. Informationen über einen Prozeß. Prozeß-Erzeugung: Verwandtschaft Prozeß: drei häufigste Zustände Prozeß: anatomische Betrachtung jeder Prozeß verfügt über seinen eigenen Adreßraum Sourcecode enthält Anweisungen und Variablen Compiler überträgt in Assembler bzw. Binärcode

Mehr

Lösung von Übungsblatt 5

Lösung von Übungsblatt 5 Lösung von Übungsblatt 5 Aufgabe 1 (Speicherverwaltung) 1. Bei welchen Konzepten der Speicherpartitionierung entsteht interne Fragmentierung? Statische Partitionierung f Dynamische Partitionierung Buddy-Algorithmus

Mehr

Betriebssysteme. Dr. Henrik Brosenne Georg-August-Universität Göttingen Institut für Informatik. Wintersemester 2016/17

Betriebssysteme. Dr. Henrik Brosenne Georg-August-Universität Göttingen Institut für Informatik. Wintersemester 2016/17 Betriebssysteme Dr. Henrik Brosenne Georg-August-Universität Göttingen Institut für Informatik Wintersemester 2016/17 Inhalt Deadlocks (Verklemmungen) Einführung Definition und Voraussetzungen für Deadlocks

Mehr

Betriebssysteme. Speicherverwaltung - Grundlegende Konzepte. Sommersemester 2014 Prof. Dr. Peter Mandl. Prof. Dr. Peter Mandl Seite 1.

Betriebssysteme. Speicherverwaltung - Grundlegende Konzepte. Sommersemester 2014 Prof. Dr. Peter Mandl. Prof. Dr. Peter Mandl Seite 1. Speicherverwaltung - Grundlegende Konzepte Sommersemester 2014 Prof. Dr. Peter Mandl Prof. Dr. Peter Mandl Seite 1 Gesamtüberblick 1. Einführung in 2. Betriebssystemarchitekturen und Betriebsarten 3. Interruptverarbeitung

Mehr

Freispeicherverwaltung

Freispeicherverwaltung Freispeicherverwaltung Allgemeine Techniken und Anwendung unter Linux Martin Wahl, 17.11.03 Freispeicherverwaltung 1 Überblick Allgemeines Suchstrategien Verwaltungsstrategien externer / interner Verschnitt

Mehr

Inhaltsübersicht. Speicherverwaltung Teil I. Motivation. Prinzipielle Arten der Speicherverwaltung

Inhaltsübersicht. Speicherverwaltung Teil I. Motivation. Prinzipielle Arten der Speicherverwaltung Speicherverwaltung Teil I Hard- und Software-Komponenten zur Speicherverwaltung Inhaltsübersicht Zusammenhängende Speicherzuteilung Partitionen fester Größe Partitionen variabler Größe Methoden zur Verwaltung

Mehr

Proseminar Konzepte von Betriebssystem-Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging Von Christian Hubert

Proseminar Konzepte von Betriebssystem-Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging Von Christian Hubert Proseminar Konzepte von Betriebssystem-Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging Von Christian Hubert 1.: Speicherung und Adressierung von Daten Bei der Speicheradressierung

Mehr

Speicher- und Cacheverwaltung unter Linux. Ralf Petring & Guido Schaumann

Speicher- und Cacheverwaltung unter Linux. Ralf Petring & Guido Schaumann Speicher- und Cacheverwaltung unter Linux Ralf Petring & Guido Schaumann Übersicht Virtueller Adressraum Virtuelle Speicheraufteilung Reale Speicheraufteilung Speicherverwaltung Speicherzugriff Auslagerungsstrategien

Mehr

Technische Informatik II Wintersemester 2002/03 Sommersemester 2001. Heiko Holtkamp Heiko@rvs.uni-bielefeld.de

Technische Informatik II Wintersemester 2002/03 Sommersemester 2001. Heiko Holtkamp Heiko@rvs.uni-bielefeld.de Technische Informatik II Wintersemester 2002/03 Sommersemester 2001 Heiko Holtkamp Heiko@rvs.uni-bielefeld.de Speicher ist eine wichtige Ressource, die sorgfältig verwaltet werden muss. In der Vorlesung

Mehr

Speicherverwaltung und Cache Erläuterungen

Speicherverwaltung und Cache Erläuterungen theoretischen Grundlagen der Lernmaterial zum Modul - 31231 - der Fernuniversität Hagen Inhaltsverzeichnis 1 Speicherverwaltung 5 Erklärung.......................................... 5 1.1 Seitentabelle

Mehr

3 Schnittstelle zum Betriebssystem 3.1 Einleitung

3 Schnittstelle zum Betriebssystem 3.1 Einleitung 3.1 Einleitung 1 Anbindung zum Betriebssystem (BS) Aufgaben BS Schnittstelle zur Hardware Sicherstellung des Betriebs mit Peripherie Dienste erfüllen für Benutzung Rechner Dateiverwaltung (Kopieren, Verwalten,.)

Mehr

Definitionen zum Verschnitt

Definitionen zum Verschnitt Definitionen zum Verschnitt Die absoluten Größen haben eine Einheit. Beim Bilden der Verhältnisgrößen wird die Einheit gekürzt. Man kann bei den Verhältnisgrößen die Größe durch die Anzahl vorgegebener

Mehr

(a) Wie unterscheiden sich synchrone und asynchrone Unterbrechungen? (b) In welchen drei Schritten wird auf Unterbrechungen reagiert?

(a) Wie unterscheiden sich synchrone und asynchrone Unterbrechungen? (b) In welchen drei Schritten wird auf Unterbrechungen reagiert? SoSe 2014 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Präsenzübung 2 2014-04-28 bis 2014-05-02 Aufgabe 1: Unterbrechungen (a) Wie unterscheiden sich synchrone

Mehr

Cache Blöcke und Offsets

Cache Blöcke und Offsets Cache Blöcke und Offsets Ein Cache Eintrag speichert in der Regel gleich mehrere im Speicher aufeinander folgende Bytes. Grund: räumliche Lokalität wird wie folgt besser ausgenutzt: Bei Cache Miss gleich

Mehr

Was machen wir heute? Betriebssysteme Tutorium 11. Mounten: Vorher. Frage 11.1.a

Was machen wir heute? Betriebssysteme Tutorium 11. Mounten: Vorher. Frage 11.1.a Was machen wir heute? Betriebssysteme Tutorium 11 Philipp Kirchhofer philipp.kirchhofer@student.kit.edu http://www.stud.uni-karlsruhe.de/~uxbtt/ Lehrstuhl Systemarchitektur Universität Karlsruhe (TH) 1

Mehr

Grundlagen der Informatik III Wintersemester 2010/2011

Grundlagen der Informatik III Wintersemester 2010/2011 Grundlagen der Informatik III Wintersemester 2010/2011 Wolfgang Heenes, atrik Schmittat 12. Aufgabenblatt 07.02.2011 Hinweis: Der Schnelltest und die Aufgaben sollen in den Übungsgruppen bearbeitet werden.

Mehr

Betriebssysteme. Dr. Henrik Brosenne Georg-August-Universität Göttingen Institut für Informatik. Wintersemester 2016/17

Betriebssysteme. Dr. Henrik Brosenne Georg-August-Universität Göttingen Institut für Informatik. Wintersemester 2016/17 Betriebssysteme Dr. Henrik Brosenne Georg-August-Universität Göttingen Institut für Informatik Wintersemester 2016/17 Inhalt Speicherverwaltung Einführung Monoprogrammierung Multiprogrammierung Logische/Physikalische

Mehr

, 2014W Übungsgruppen: Mo., Mi.,

, 2014W Übungsgruppen: Mo., Mi., VU Technische Grundlagen der Informatik Übung 7: Speichermanagement 183.579, 2014W Übungsgruppen: Mo., 12.01. Mi., 14.01.2015 Aufgabe 1: Cache-Adressierung Ein Prozessor mit einer Adresslänge von 20 Bit

Mehr

Wie groß ist die Page Table?

Wie groß ist die Page Table? Wie groß ist die Page Table? Im vorigen (typischen) Beispiel verwenden wir 20 Bits zum indizieren der Page Table. Typischerweise spendiert man 32 Bits pro Tabellen Zeile (im Vorigen Beispiel brauchten

Mehr

Linux Paging, Caching und Swapping

Linux Paging, Caching und Swapping Linux Paging, Caching und Swapping Inhalte Paging Das Virtuelle Speichermodell Die Page Table im Detail Page Allocation und Page Deallocation Memory Mapping & Demand Paging Caching Die verschiedenen Caches

Mehr

Echtzeit-Multitasking

Echtzeit-Multitasking Technische Informatik Klaus-Dieter Thies Echtzeit-Multitasking Memory Management und System Design im Protected Mode der x86/pentium-architektur. Shaker Verlag Aachen 2002 Die Deutsche Bibliothek - CIP-Einheitsaufnahme

Mehr

Echtzeit-Multitasking

Echtzeit-Multitasking Technische Informatik Klaus-Dieter Thies Echtzeit-Multitasking Memory Management und System Design im Protected Mode der x86/pentium-architektur. Shaker Verlag Aachen 2002 Die Deutsche Bibliothek - CIP-Einheitsaufnahme

Mehr

4. Übung - Rechnerarchitektur/Betriebssysteme

4. Übung - Rechnerarchitektur/Betriebssysteme 4. Übung - Rechnerarchitektur/Betriebssysteme 1. Aufgabe: Caching Informatik I für Verkehrsingenieure Aufgaben inkl. Beispiellösungen a) Was ist ein Cache? Wann kommt Caching zum Einsatz? b) Welchen Vorteil

Mehr

Adreßräume. Motivation. Seitenersetzung (Paging) Systemsoftware. = Referenzlokalität. Seite 2.1. Instruktionen werden wiederholt ausgeführt

Adreßräume. Motivation. Seitenersetzung (Paging) Systemsoftware. = Referenzlokalität. Seite 2.1. Instruktionen werden wiederholt ausgeführt Adreßräume Seitenersetzung (Paging) Motivation Instruktionen werden wiederholt ausgeführt Variablen werden wiederholt referenziert Gründe: Sequentielle Ausführung überwiegt Tatsächliche Prozedurverschachtelung

Mehr

Medienpraktikum Medienpsychologie. Seminar für Pädagogik, Universität Ulm Sommersemester Anne Wilzek Doreen Eichler

Medienpraktikum Medienpsychologie. Seminar für Pädagogik, Universität Ulm Sommersemester Anne Wilzek Doreen Eichler Medienpraktikum Medienpsychologie Seminar für Pädagogik, Universität Ulm Sommersemester 2005 Anne Wilzek Doreen Eichler Betreuer: Dr. Markus Dresel, Frank Schumacher Thema: Erarbeitung multimedialer Inhalte

Mehr

Cache. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011

Cache. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011 Cache Dr.-Ing. Volkmar Sieh Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011 Cache 1/53 2012-02-29 Einleitung Hauptspeicherzugriffe sind langsam die

Mehr

Betriebssysteme. Wintersemester Kapitel 3 Speicherverwaltung. Patrick Kendzo

Betriebssysteme. Wintersemester Kapitel 3 Speicherverwaltung. Patrick Kendzo Betriebssysteme Wintersemester 2015 Kapitel 3 Speicherverwaltung Patrick Kendzo ppkendzo@gmail.com Programm Inhalt Einleitung Prozesse und Threads Speicherverwaltung Ein- / Ausgabe und Dateisysteme Zusammenfassung

Mehr

Übung zu Grundlagen der Betriebssysteme. 14. Übung

Übung zu Grundlagen der Betriebssysteme. 14. Übung Übung zu Grundlagen der Betriebssysteme 14. Übung 29.01.2012 Aufgabe 1 Demand Paging a) Was wird unter dem Begriff Demand Paging verstanden? b) Was sind Vor- und Nachteile des Demand Paging? Bei Demand

Mehr

9) Speicherverwaltung

9) Speicherverwaltung Inhalte Speicherhierarchien Speicherzuteilung Adressbildung Lineare Adressbildung mit statischer/dynamischer Zuteilung (Segmentierung) Kompaktifizierung Lineare Adressbildung mit virtueller Adressierung

Mehr

DYNAMISCHE VERWALTUNG VIRTUELLEN SPEICHERS FÜR ECHTZEITSYSTEME

DYNAMISCHE VERWALTUNG VIRTUELLEN SPEICHERS FÜR ECHTZEITSYSTEME 1 / 25 DYNAMISCHE VERWALTUNG VIRTUELLEN SPEICHERS FÜR ECHTZEITSYSTEME Martin Böhnert, Thorsten Zitterell, Christoph Scholl Albert-Ludwigs-Universität Freiburg Fakultät für Angewandte Wissenschaften Institut

Mehr

Speicherverwaltung. Design Digitaler Systeme. Prof. Dr.-Ing. Rainer Bermbach

Speicherverwaltung. Design Digitaler Systeme. Prof. Dr.-Ing. Rainer Bermbach Speicherverwaltung Design Digitaler Systeme Prof. Dr.-Ing. Rainer Bermbach Übersicht Speicherverwaltung Virtueller Speicher Memory Management Unit Segmentierung Paging Kombination Segmentierung/ Paging

Mehr

Klausur zum Kurs Betriebssysteme (1802) am 18. September 2010

Klausur zum Kurs Betriebssysteme (1802) am 18. September 2010 Fakultät für Mathematik und Informatik Lehrgebiet Kooperative Systeme Prof. Dr. Jörg M. Haake Klausur zum Kurs Betriebssysteme (1802) am 18. September 2010 Klausurort: Vorname Name: Adresse: Matrikelnummer:

Mehr

Betriebssysteme 1. Thomas Kolarz. Folie 1

Betriebssysteme 1. Thomas Kolarz. Folie 1 Folie 1 Betriebssysteme I - Inhalt 0. Einführung, Geschichte und Überblick 1. Prozesse und Threads (die AbstrakFon der CPU) 2. Speicherverwaltung (die AbstrakFon des Arbeitsspeichers) 3. Dateisysteme (die

Mehr

Bsys2 Zusammenfassung. Definition Die CPU ist das Gehirn des Computers. Sie holt Befehle aus dem Speicher und führt sie aus.

Bsys2 Zusammenfassung. Definition Die CPU ist das Gehirn des Computers. Sie holt Befehle aus dem Speicher und führt sie aus. Prozessoren Definition Die CPU ist das Gehirn des Computers. Sie holt Befehle aus dem Speicher und führt sie aus. Register Alle Prozessoren besitzen interne Register, um den Zugriff auf Daten zu beschleunigen.

Mehr

Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7)

Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7) Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7) Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7) J. Zhang zhang@informatik.uni-hamburg.de Universität Hamburg AB Technische Aspekte Multimodaler Systeme

Mehr

(Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl

(Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl Übung zur Vorlesung Grundlagen Betriebssysteme und Systemsoftware (Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl (gbs-ws11@mailschlichter.informatik.tu-muenchen.de) http://www11.in.tum.de/veranstaltungen/grundlagenbetriebssystemeundsystemsoftwarews1112

Mehr

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz Systeme I: Betriebssysteme Kapitel 4 Prozesse Maren Bennewitz Version 13.11.2013 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten von Betriebssystemen

Mehr

1. Welche Speichereinheiten werden belegt, wenn die folgenden Strategien eingesetzt werden?

1. Welche Speichereinheiten werden belegt, wenn die folgenden Strategien eingesetzt werden? 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

Mehr