Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Systeme 1 Kapitel 8.2 Speicherverwaltung: Paging Segmentierung WS 2009/101.

Ähnliche Präsentationen


Präsentation zum Thema: "Systeme 1 Kapitel 8.2 Speicherverwaltung: Paging Segmentierung WS 2009/101."—  Präsentation transkript:

1 Systeme 1 Kapitel 8.2 Speicherverwaltung: Paging Segmentierung WS 2009/101

2 Speicherverwaltung (Wiederholung) Grundlegende Anforderungen an Speicherverwaltung: – Aufteilung des verfügbaren Hauptspeichers zwischen Betriebssystem verschiedenen Prozessen 5 Anforderungen nach Lister / Eager: 1.Relokation: Übersetzung der Speicherreferenzen im Programmcode in tatsächliche physikalische Speicheradressen durch Prozessorhardware und Betriebssystemsoftware. 2.Schutz Schutz von Prozessen gegen beabsichtigte oder unbeabsichtigte Störungen durch andere Prozesse mittels in Hardware integrierter dynamischer Adressüberprüfung. WS 2009/102

3 Speicherverwaltung (Wiederholung) 5 Anforderungen nach Lister / Eager (ff): 1.Gemeinsame Nutzung Gemeinsame und kontrollierte Nutzung von Speicher durch mehrere Prozesse: z.B. Bibliotheken oder gemeinsam genutzter Speicher zur Kooperation. 2.Logische Organisation Logische Aufteilung von linear organisierten Speicher anhand der speziellen Anforderungen der Programme. 3.Physikalische Organisation Organisation des Datenflusses zwischen den verschiedenen Speicherarten (z.B. zwischen Hauptspeicher und Sekundärspeicher). WS 2009/103

4 Grundlegende Methoden der Speicherverwaltung Partitionierung – Aufteilung des Speichers in Bereiche mit festen Grenzen – Fester, zusammenhängender Teil des Hauptspeichers für Betriebssystem und pro Prozess ein zusammenhängender Teil des Speichers – Verschiedene Varianten: Statische Partitionierung – Einteilung des Speichers in feste Anzahl von Partitionen Dynamische Partitionierung – Einteilung in Partitionen variabler Länge Buddy-Verfahren – Kombination von statischen und dynamischen Verfahren. – Vorteil: geringe Komplexität – Nachteil: Prozesse sind entweder ganz im Speicher oder komplett ausgelagert. -> Paging WS 2009/104

5 Relokation Nach Aus- und Wiedereinlagern von Prozessen liegen Programmcode bzw. Daten an anderer Stelle. Absolute Sprungbefehle und Datenzugriffsbefehle sollen weiterhin funktionieren. Unterscheidung: – Logische Adresse: Bezug auf eine Speicherstelle unabhängig von der aktuellen Zuteilung von Daten im Speicher – Relative Adresse: Spezialfall einer logischen Adresse Adresse relativ zu einem bekannten Punkt (meist Programmanfang) ausgedrückt Physikalische bzw. absolute Adresse: konkrete Stelle im Hauptspeicher WS 2009/105

6 Relokation Berechnung von absoluten Adressen aus relativen Adressen durch Hardware. Beim Einlagern eines Prozesses: – Adresse des Programmanfangs in Basisregister. – Zusätzlich: Zur Realisierung von Speicherschutz enthält Grenzregister die höchste erlaubte Speicheradresse WS 2009/106

7 Relokation (Relative Adresse) WS 2009/107 Prozesskontrollblock Programm Daten Stapel Prozessabbild im Hauptspeicher Basisregister Addierer Vergleicher Grenzregister Unterbrechung an Betriebssystem Absolute Adresse Relative Adresse

8 Grundlegende Methoden der Speicherverwaltung Einfaches Paging – Im Gegensatz zu Partitionierung werden Prozessen nicht notwendigerweise zusammenhängende Speicherbereiche zugeordnet. – Hauptspeicher aufgeteilt in viele gleichgroße Seitenrahmen. – Speicher eines Prozesses aufgeteilt in Seiten derselben Größe. – Zuordnung von Seiten zu Seitenrahmen beim Laden von Prozessen Logische Adressen der Form Seitennummer, Offset Pro Prozess eine Seitentabelle Seitentabelle übersetzt Seitennummern in Nummern von Seitenrahmen im physikalischen Speicher WS 2009/ Bit-Seitennummer10-Bit-Offset

9 Grundlegende Methoden der Speicherverwaltung Einfaches Paging – Hier Seite 1 des Seitenrahmen physikalische Adresse – mit 2 6 Seiten pro Prozess und 2 10 Bytes Seitengröße. Nachteil: – Bei Auslagerung in den Hintergrundspeicher immer nur für vollständigen Prozess möglich. Paging mit virtuellem Speicher WS 2009/ Bit-Seitennummer10-Bit-Offset Logische Adresse Seitentabelle des Prozesses

10 Grundlegende Methoden der Speicherverwaltung Paging mit virtuellem Speicher – Wenn man im Zusammenhang mit Auslagern sowieso mit Hintergrundspeicher arbeitet, dann hat man auch die Möglichkeit, nur Teile der Daten von Prozessen ein- bzw. auszulagern. – Das Programm kann momentan weiter ausgeführt werden, wenn die aktuell benötigten Informationen (Code und Daten) im Speicher sind. – Wird auf Informationen zugegriffen, die ausgelagert (auf der Festplatte) sind, so müssen diese nachgeladen werden. – Hauptspeicher + Hintergrundspeicher = virtueller Speicher erlaubt logische Adressen über vollen Adressraum (32 bzw. 64 Bit), da Seiten zu jeder Zeit in den Hintergrundspeicher ausgelagert werden können. WS 2009/1010

11 Grundlegende Methoden der Speicherverwaltung Paging mit virtuellem Speicher – Wie bei einfachem Paging: Trennung der logischen Adressen in Seitennummer und Offset, z.B.: – Logische Adresse: Seitentabelleneintrag: Umsetzung der Adresse mit Hardwareunterstützung (MMU). WS 2009/1011 P (Present Bit), M (Modify Bit), weitere Bits für Schutzrechte etc Bit-Seitennummer10-Bit-Offset PMWeitere BitsSeitenrahmennummer

12 Grundlegende Methoden der Speicherverwaltung Paging mit virtuellem Speicher – Da Programmcode und Daten eines Prozesses teilweise oder vollständig ausgelagert sein können ergeben sich zwei Probleme: 1.Eine angeforderte logische Adresse befindet sich nicht im Speicher Seitenfehler 2.Muss eine ausgelagerte Seite geladen werden und der Hauptspeicher ist voll, dann muss Platz geschaffen werden durch Auslagerung einer anderen Seite Verdrängung WS 2009/1012

13 Grundlegende Methoden der Speicherverwaltung Paging mit virtuellem Speicher – Verdrängung (MMU) stellt anhand des present bits fest, dass angefragte Seite nicht im Hauptspeicher ist (=> Seitenfehler bzw. page fault). Der laufenden (und anfragende Prozess) muss unterbrochen werden Betriebssystemroutine zum Laden der angeforderten Seite wird gestartet Falls die angeforderte Seite auf der Festplatte existiert: – Falls freier Seitenrahmen vorhanden: » Lade Seite in freien Seitenrahmen – Sonst » Starte Betriebssystemroutine zur Verdrängung Sonst: => angeforderte Adresse ist unbekannt / ungültig – Stoppe Prozess => Speicherschutzverletzung WS 2009/1013

14 Verdrängung Wenn kein freier Seitenrahmen vorhanden: Verdrängen von Seitenrahmen => Festplatte. Je nach Betriebssystem: – Alle Seitenrahmen sind Kandidaten für Verdrängung oder – Nur Seitenrahmen des eigenen Prozesses Entscheidung unter diesen Kandidaten gemäß Verdrängungsstrategie (Ziel: gute Ausnutzung von Lokalität). Ist das Modify-Bit M gesetzt, dann muss Seite im entsprechenden Rahmen auf Festplatte zurückgeschrieben werden. Nach Verdrängen eines Seitenrahmens muss die Seitentabelle des zugehörigen Prozesses aktualisiert werden. Da Seitentabellen meist nur dünn besetzt: – Suchen des verdrängten Seitenrahmens in Seitentabelle des Prozesses ineffizient – Abbildung Seitenrahmennummer --> (Prozessnummer, Seitennummer) hilfreich WS 2009/1014

15 Verdrängung WS 2009/1015 Seite 0 Seite 1 Seite 2 Seite 3 Seite 4 Seite 5 Seite 6 Seite 7 Seitenrahmen 0 Seitenrahmen 1 Seitenrahmen 2 Seitenrahmen 3 Hauptspeicher Seitentabelle von Prozess 1 SeiteP…Rahmen 00… 10… 21…1 30… 40… 50… 61…2 70… SeiteP…Rahmen 00… 10… 21…0 30… 41…3 50… 60… 70… Seitentabelle von Prozess 2 Seite 0 Seite 1 Seite 2 Seite 3 Seite 4 Seite 5 Seite 6 Seite 7 virtueller Adressraum Prozess 2 Seite 6 von Prozess 2 soll Aus- gelagert werden => P = 0 Seitenrahmen 2 soll freigeräumt werden. virtueller Adressraum Prozess 1

16 Verdrängung WS 2009/1016 Seite 0 Seite 1 Seite 2 Seite 3 Seite 4 Seite 5 Seite 6 Seite 7 Seitenrahmen 0 Seitenrahmen 1 Seitenrahmen 2 Seitenrahmen 3 Hauptspeicher RahmenProzessSeite Abbildung Seitenrahmennummer -> (Prozessnummer, Seitennummer) Seite 0 Seite 1 Seite 2 Seite 3 Seite 4 Seite 5 Seite 6 Seite 7

17 Größe von Seitentabellen Problem: Größe der Seitentabelle Bsp.: – 32-Bit-Adressraum – 20-Bit Seitennummer, 12-Bit Offset 2 20 Seiten der Größe 2 12 Byte – Seitentabelle mit 2 20 Zeilen => 4 MB für Seitentabelle bei 4 Byte pro Zeile, d.h Seiten für die Seitentabelle! – Für jeden Prozess! – Noch schlimmer bei 64-Bit-Adressraum … Abhilfe: – Zwei- und Mehrstufige Seitentabellen – Invertierte Seitentabellen WS 2009/1017

18 Zweistufige Seitentabellen Hierarchische Seitentabelle (vgl. Pentium) Idee: Speichere auch Seitentabelle im virtuellen Speicher Im Beispiel: – 2 20 Seiten mit jeweils 2 12 Byte, pro Eintrag 4 Byte => 2 22 Byte für Seitentabelle, d.h Seiten für Seitentabelle benötigt – Führe Hauptseite (2 12 Byte) ein, die immer im Speicher liegt. – Hauptseite enthält 2 10 Verweise auf Seiten der Benutzerseitentabelle, indiziert mit ersten 10-Bit der Adresse – Wenn gesuchte Seite der Benutzerseitentabelle nicht im Speicher: Lade in einen freien Seitenrahmen – Benutze 10 mittlere Bit, um in Untertabelle den gesuchten Seitenrahmen zu finden (evtl. Nachladen von Festplatte) – Restliche 12-Bit wie üblich als Offset innerhalb des Seitenrahmens WS 2009/1018

19 Adressumsetzung WS 2009/1019 Seiten- rahmen … … Rahmennr.Offset Reale Adresse Hauptseiten- tabellenzeiger Register Virtuelle Adresse 10-Bit12-Bit ProgrammPaging-VerfahrenHauptspeicher 10-Bit Hauptseitentabelle (2 10 Einträge) Untertabelle (2 10 Einträge)

20 Aktuelle Implementierungen verwenden meist Vierstufige Seitentabellen: Aber recht aufwändiger Berechnung. Diese Berechnungen werden sehr häufig vorgenommen => Optimierungen! Beispiel: Vierstufige Seitentabellen WS 2009/1020 Level 4 Eintrag Level 4 Tabelle Level 3 Eintrag Level 3 Tabelle Level 2 Eintrag Level 2 Tabelle Level 1 Eintrag Level 1 Tabelle Physikalische Adresse Hauptspeicher Level 4 IndexLevel 3 IndexLevel 2 IndexLevel 1 IndexOffset Virtuelle Adresse

21 Translation Lookaside Buffer (TLB) Effizienzproblem: – Bei Paging zieht ein Speicherzugriff auf Code / Daten einen zusätzlichen Zugriff auf die Seitentabelle im Speicher nach sich (sogar zwei bei zweistufiger Seitentabelle). – Doppelte (dreifache) Zugriffszeit Hardwaremäßige Beschleunigung durch einen zusätzlichen Cache für Adressübersetzung: Translation Lookaside Buffer (TLB) = Adressumsetzungspuffer Ablauf: – Nachsehen, ob Eintrag zu virtueller Adresse in TLB – Wenn ja: Lese Seitenrahmennummer aus TB – Sonst: Nachsehen in Seitentabelle – Evtl. Seite von Festplatte nachladen WS 2009/1021

22 Translation Lookaside Buffer (TLB) WS 2009/1022 … … Seitennr.Offset Virtuelle Adresse Hauptspeicher Rahmennr.Offset Reale Adresse Seitentabelle TLB TLB- Fehlschlag Seitenfehler Seiten- rahmen … … Sekundärspeicher Seite laden TLB-Treffer Offset

23 Translation Lookaside Buffer (TLB) Der TLB ist ein Hardware-Cache. Meist realisiert als assoziativer Speicher: – Einträge der Form (Seitennummer, Seitentabelleneintrag) – Angefragte Seitennummer wird durch Hardware parallel mit allen Einträgen in TLB verglichen. – Ausgabe: Vorhanden, Seitentabelleneintrag Nicht vorhanden – Bei Eintrag: Verdrängungsstrategien notwendig … – Teuerste Realisierungsmöglichkeit eines Caches! WS 2009/1023

24 Translation Lookaside Buffer (TLB) WS 2009/1024 Seitennr.Offset Virtuelle Adresse …… Seitennr. Seitentabelleneinträge Rahmennr.Offset Reale Adresse Adressumsetzungspuffer

25 TLB und Caches Zusätzlich noch Caches für Programme und Daten: – Caches für Programme und Daten sind TLB / MMU nachgeschaltet. – Verwenden physikalische Adressen. WS 2009/1025 Virtuelle Adresse Physikalische Adresse MMU Cache Hauptspeicher

26 Virtuelle Cache-Adressierung Alternative: Cache mit der virtuellen Adresse adressieren. Vorteil: – Adressumsetzung und Cachezugriff parallel Nachteil: – Verschiedene Prozesse benutzen gleiche virtuelle Adresse für verschiedene reale Adressen. Daten- / Programmcache bei Prozesswechsel ungültig – Abhilfe bei Single-Prozessor-Umgebungen: Trage zusätzlich zur virtuellen Adresse auch PID (process identifier)-Tag ein Schwierig in Zusammenhang mit Konsistenz von Caches bei Multiprozessoren Meist reale Cache-Adressierung verwendet. WS 2009/1026 Virtuelle Adresse Physikalische Adresse MMU Cache Hauptspeicher

27 Invertierte Seitentabellen Siehe Power PC, IBM AS/400 Beobachtung: – Sei n die Zahl der Seiten im virtuellen Adressraum, m die Zahl der einem Prozess zugeordneten Seitenrahmen. Dann ist üblicherweise n >> m. Seitentabellen sind meist nur sehr dünn besetzt – Seitentabelle zur Abbildung Seitennummer ! Seitenrahmennummer verschwendet Speicherplatz. Allgemeines Problem: – Gegeben Schlüssel k 1, …, k m aus {0, …, n-1} oder allgemein k 1, …, k m aus U mit |U| = n. – Gesucht ist eine Methode, die jedem Schlüssel k i einen Wert v i zuordnet. – Die Zuordnung soll speicher- und laufzeiteffizient sein. WS 2009/1027

28 Invertierte Seitentabellen Methoden aus Gebiet Algorithmen und Datenstrukturen (Informatik II, Algorithmentheorie)! Bei Invertierten Seitentabellen benutzt: Hashing Schlüssel k i sind Seitennummern Wert v i sind Seitenrahmennummern Benutze Tabellen der Länge m (Anzahl der Seitenrahmen) (oder auch etwas größer) Benutze Hash-Funktion WS 2009/1028

29 Invertierte Seitentabellen Benutze Hash-Funktion – h: {0, …, n-1} -> {0, …, m-1} zur Abbildung von Seitennummern auf Plätze in der Hashtabelle – Einfaches Beispiel: h(k i ) = k i mod m – Bei Vergabe eines neuen Seitenrahmens v i : Speichere an Platz h(k i ) das Paar (k i, v i ) ab. – Problem: Hashkollisionen An Stelle h(k i ) kann sich schon ein Eintrag (k j, v j ) befinden mit k i k j, aber h(k i ) = h(k j ). Zur Überprüfung muss k i bei (k i, v i ) mitgespeichert werden! Lösung z.B. durch Überläuferketten – Suche mit Schlüssel k i : Nachschauen an Stelle h(k i ) Wenn Stelle belegt, überprüfe, ob Schlüssel übereinstimmt Sonst: Verfolge Überläuferkette – Löschen von Einträgen: analog WS 2009/1029

30 Invertierte Seitentabellen - Aufbau WS 2009/1030 Rahmennr. Seitennr. Eintrag Zeiger Überläuferkette h Seitennr.Offset Virtuelle Adresse Rahmennr.Offset Reale Adresse Invertierte Seitentabelle Hashfunktion h(k i ) kjkj vjvj kiki kiki

31 Seitengröße - Problem Wahl der Seitengröße sehr wichtig für Systemleistung Kleine Seiten: – Kein zufälliges Datensegment füllt immer eine ganze Zahl von Seiten => im Durchschnitt bleibt die letzte Seite halb leer. Somit bei n zu speichernden Datensegmenten und einer Seitengröße von p Bytes werden np/2 Bytes für interne Fragmentierung verschwendet. kleine Seiten verschwenden weniger Speicher. Große Seiten: – Große Seiten => Kleinere Seitentabellen => weniger Verwaltungsaufwand WS 2009/1031

32 Seitengröße - Problem Analytisch: – Die durchschnittliche Prozessgröße sei s Bytes. – Die Seitengröße sei p Bytes und ein Eintrag in der Seitentabelle e Bytes. – Ein Prozess belegt dann s/p Seiten und damit es/p Bytes in der Seitentabelle. es/p wird kleiner mit wachsender Seitengröße. – Durch interne Fragmentierung gehen nochmal p/2 Bytes verloren. p/2 wird kleiner mit schrumpfender Seitengröße. – Somit lautet das Minimierungsproblem: V = es/p + p/2 – Optimum durch erste Ableitung nach p Null setzen: -se/p 2 + ½ = 0 => p = (2se) 1/2 – Beispiel: für s = 1 Mb und e = 8 Byte ist die optimale Seitengröße 4Kb. WS 2009/1032

33 Seitengröße - Problem Moderne Probleme: – Objektorientierte Techniken mit vielen kleinen, verstreuten Programm- und Datenmodulen => Schwächung der Lokalität – Multithreading-Anwendungen wirken Lokalität entgegen. In Realität: – Seitengrößen um 4 Kbyte – Teilweise auch variierbar (z.B. Pentium bis 4 Mbyte) WS 2009/1033

34 Grundlegende Methoden der Speicherverwaltung Partitionierung – Für Speicheraufteilung zwischen verschiedenen Prozessen eher veraltetes Konzept – Betriebssysteminterne Nutzung von Partitionierung Paging – Einfaches Paging – Kombiniert mit Konzept des virtuellen Speichers Segmentierung – Einfache Segmentierung – Kombiniert mit Konzept des virtuellen Speichers WS 2009/1034

35 Segmentierung Im Gegensatz zu Partitionierung werden Prozessen nicht notwendigerweise zusammenhängende Speicherbereiche zugeordnet. Speicher eines Prozesses aufgeteilt in Segmente, deren Größe im Gegensatz zu den Seiten beim Paging verschieden sein kann. Keine interne Fragmentierung, aber externe Fragmentierung (wie bei dynamischer Partitionierung. Segmentierung ist für Programmierer / Compiler sichtbar. Aufteilung in Codesegmente, Datensegmente, … Einfache Segmentierung: Prozesse sind entweder ganz im Speicher oder komplett ausgelagert. WS 2009/1035

36 Segmentierung Logische Adresse besteht aus Segmentadresse und Offset. Berechnung der realen Adresse durch Addition von – Basisadresse des Segments – Offset Segmenttabelle enthält pro Segment – Basisadresse des Segments (Startadresse im Speicher) – Segmentlänge WS 2009/1036

37 Segmentierung Bsp.: logische Adresse mit 16-Bit WS 2009/ Bit-Segmentnummer 12-Bit-Offset Bit physikalische Adresse Prozesssegmenttabelle LängeBasis

38 Segmentierung Segmentierung mit virtuellem Speicher – Nicht alle Segmente eines nicht komplett ausgelagerten Prozesses müssen im Speicher vorhanden sein. – Restliche Segmente auf Festplatte – Segmenttabelleneintrag: Present-Bit P: Segment ist im Hauptspeicher Modify-Bit M: Segment wurde verändert Weitere Bits für Schutzrechte und gemeinsame Nutzung Schutz und gemeinsame Nutzung auf Segmentbasis einfach zu regeln Größe der Segmente unterschiedlich und dynamisch festlegbar Bei Segmentvergrößerung: – Allokieren von nachfolgendem Speicher oder – Verschiebung in einen größeren freien Bereich oder – Auslagerung WS 2009/1038 PMWeitere BitsLänge Basis

39 Segmentierung und Paging kombiniert Vorteile Paging: – Für den Nutzer tranparent – Feste Seitengrößen => anspruchsvolle, leistungsfähige Speicherverwaltungsalgorithmen Vorteile Segmentierung: – Anpassung an dynamischen Speicherbedarf von Prozessen – Gemeinsame Nutzung und Schutz auf Grundlage natürlicher Organisationseinheiten Kombination beider Verfahren: – Prozesse aufgeteilt in Segmente, pro Prozess eine Segmenttabelle – Segmente aufgeteilt in Seiten, pro Segment eine Seitentabelle Aufbau einer Adresse: – Für den Programmierer besteht Adresse aus Segmentnummer und Offset Segmentierung. – Offset Segmentierung wird beim Paging interpretiert als (Seitennummer, Offset Paging ). WS 2009/1039

40 Segmentierung und Paging kombiniert WS 2009/1040 Seiten- rahmen … … Rahmennr.Offset Reale Adresse Segment tabellenzeiger Register Virtuelle Adresse ProgrammPagingHauptspeicher Segmenttabelle Seitentabelle Seg- mentnr. Seiten- nr. Offset Segmentierung

41 Betriebssystemaufgaben bei Speicherverwaltung Festlegung verschiedener Strategien: – Abrufstrategie (Fetch Policy): Wann wird eine Seite in den Hauptspeicher geladen? Demand Paging Prepaging – Speicherzuteilungsstrategie (Placement Policy): Wo im Speicher wird ein Prozessteil abgelegt? Nur wichtig bei Segmentierung / Partitionierung, nicht bei Paging z.B. Best-Fit, Next-Fit, First-Fit WS 2009/1041

42 Betriebssystemaufgaben bei Speicherverwaltung Festlegung verschiedener Strategien (ff): – Verdrängungsstrategie (Replacement Policy): Welche Seite soll ausgelagert werden, wenn alle Seitenrahmen belegt sind? Gesperrte Seiten sind ausgenommen! Vielzahl von Verfahren, z.B. – LRU (Least Recently Used) – FIFO (First In First Out) – Clock-Algorithmus Strategien arbeiten auf der Grundlage von Daten, die durch die Hardware gesammelt werden müssen. WS 2009/1042

43 Betriebssystemaufgaben bei Speicherverwaltung Festlegung verschiedener Strategien (ff): – Strategie zur Verwaltung des Resident Set: Welchem Prozess wird wieviel Platz im Hauptspeicher zugeteilt? Feste oder variable Zuteilung von Speicher an Prozesse Variable Zuteilung meist auf Grundlage der Seitenfehlerrate (mit Hardwareunterstützung gemessen / abgeschätzt) Lokale oder globale Austauschstrategie (nur Seiten des eigenen Prozesses ausgelagert oder auch von anderen) – Cleaning-Strategie: Wann lagert man eine geänderte Seite in den Sekundärspeicher aus? Demand Cleaning Precleaning (Motivation: Schreiben mehrerer Seiten in Gruppen) – Strategie zur Lastkontrolle: Wieviele Prozesse werden gleichzeitig zugelassen (teilweise im Speicher) Ab welcher Zahl von Prozessen beginnt man mit Suspendieren von Prozessen? Welche Prozesse werden suspendiert? WS 2009/1043

44 Zusammenfassung Speicherverwaltungsstrategien sind extrem wichtig die Effizienz des Gesamtsystems. Moderne Betriebssysteme arbeiten mit virtuellem Speicher. Lokalität ist die Grundvoraussetzung für das effiziente Funktionieren virtueller Speicherkonzepte. – In der Praxis meist vorhanden. Paging unterteilt den Speicher in viele gleich große Teile. Segmentierung unterteilt in verschieden große Teile, deren Größe variabel ist. Es ist auch möglich, Paging und Segmentierung zu kombinieren. WS 2009/1044


Herunterladen ppt "Systeme 1 Kapitel 8.2 Speicherverwaltung: Paging Segmentierung WS 2009/101."

Ähnliche Präsentationen


Google-Anzeigen