Placement Algorithm

Download Report

Transcript Placement Algorithm

Gruppe 2
MEMORY MANAGEMENT
Jakob Dietschy
Arnold Huber
Karl Philip Schneider
Lukas Unterberger
Daniel Dötzl
Memory Management
Betriebssystem muss Funktionen zum Memory
Management bereitstellen:
• Prozesse müssen effektiv im Hauptspeicher sein
• Nicht verwendetet Prozesse auslagern
Anforderungen an das Memory Management
• Organisation zwischen Hauptspeicher und
Sekundärspeicher
• Protection: schützt vor ungewolltem Zugriff
anderer Prozesse auf einen Speicherbereich
• Sharing: mehrere Prozesse können auf einen
gemeinsamen Speicherbereich zugreifen
Positionierung Hauptspeicher
• Fixed Partitioning
• Dynamic Partitioning
• Buddy System
Fixed Partitioning
Speicher wird entweder in gleich große oder
verschieden große Partitionen auf gespaltet
Dynamic Partitioning
Partitionen sind variabel –
in Bezug auf Größe und Anzahl
Externe Fragmentierung
Compaction: Mechanismus des OS, der von Zeit zu Zeit
die Prozesse im Speicher so verschiebt, dass Löcher wieder
verschwinden. Sehr rechenzeitintensiv.
Durch Placement Algorithm werden Prozesse möglichst
clever in Speicher eingelagert, sodass Effekt der externen
Fragmentierung klein bleibt und Compaction möglichst
selten aufgerufen werden muss.
Mögliche Placement Algorithmen:
First-Fit, Next-Fit, Best-Fit
Placement Algorithmen
First-Fit
Best-Fit
Next-Fit
Paging & Segmentierung
Wegen der internen bzw. externen
Fragmentierung beim Partitioning wurde
Paging und Segmentierung entwickelt.
Paging
Hauptspeicher -> in kleine Frames unterteilt
(Frames alle gleich groß !)
Prozesse werden in Pages unterteilt
(Page genauso groß wie Frame !)
Paging
Segmentierung
Prozesse werden in Segmente aufgeteilt
Typ.Bsp.: Segment Programmteil
Segment dazugehörige Dateien
Die Segmente können bei der Einlagerung im
Speicher beliebig platziert werden.
Diese müssen dabei nicht benachbart sein.
Viritual Memory
Virtual Memory
•
Charakteristika von Paging und Segmentierung
–
–
•
Dynamische Adreßübersetzung
Ein Prozeß kann aufgeteilt werden
Konsequenzen aus der Charaktieristika:
–
–
–
Virtual Memory
Mit Virtual Memory größere Anzahl an Prozessen
Prozeß größer als Hauptspeicher
Prozeßabarbeitung
mit
Prozessbearbeitung
Virtual Memory
•
Resident Set
•
Memory Fault Interrupt
•
Principle Of Locality
•
Trashing
Virtual Memory Paging
Virtual Memory Paging
•
•
•
Adreßraum in Frames
Erweiterung der Page Tables um
–
Present Bit P
–
Modify Bit M
„Page Table Pointer“ Register
Fetch
Fetch Policy
Policy
•
Demand Paging
•
Prepaging
Global
Local Replacement
Replacement Policy
Policy
Hauptspeicher
Page L
Page L
Page L
Page F
Page F
Page F
Page #
Page #
Page #
Page F
Page F
Page F
AusResident-Set-Management
lagerung
Variable Allocation
Fixed Allocation
„Frame Locking“
Page #
Page #
Page #
Auslagerung
Sekundärspeicher
Replacement Policy
Strategien - Algorithmen
OPT – Optimal RP
LRU – Last Recently Used RP
LRU – First-In-First-Out RP
Clock RP
Page Faults
gering
hoch
Implementierung
einfach
aufwendig
Referenzierung
Zeit
Anzahl Aufrufe
Gruppe 2
MEMORY MANAGEMENT
Jakob Dietschy
Arnold Huber
Karl Philip Schneider
Lukas Unterberger
Daniel Dötzl