19
Jakob Dietschy Arnold Huber Karl Philip Schneider Lukas Unterberger Daniel Dötzl Gruppe 2 MEMORY MANAGEMENT

Jakob Dietschy Arnold Huber Karl Philip Schneider Lukas Unterberger Daniel Dötzl Gruppe 2 MEMORY MANAGEMENT

Embed Size (px)

Citation preview

Page 1: Jakob Dietschy Arnold Huber Karl Philip Schneider Lukas Unterberger Daniel Dötzl Gruppe 2 MEMORY MANAGEMENT

Jakob DietschyArnold Huber

Karl Philip SchneiderLukas Unterberger

Daniel Dötzl

Gruppe 2MEMORY MANAGEMENT

Page 2: Jakob Dietschy Arnold Huber Karl Philip Schneider Lukas Unterberger Daniel Dötzl Gruppe 2 MEMORY MANAGEMENT

Betriebssystem muss Funktionen zum Memory Management bereitstellen:

• Prozesse müssen effektiv im Hauptspeicher sein

• Nicht verwendetet Prozesse auslagern

Memory Management

Page 3: Jakob Dietschy Arnold Huber Karl Philip Schneider Lukas Unterberger Daniel Dötzl Gruppe 2 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

Anforderungen an das Memory Management

Page 4: Jakob Dietschy Arnold Huber Karl Philip Schneider Lukas Unterberger Daniel Dötzl Gruppe 2 MEMORY MANAGEMENT

• Fixed Partitioning

• Dynamic Partitioning

• Buddy System

Positionierung Hauptspeicher

Page 5: Jakob Dietschy Arnold Huber Karl Philip Schneider Lukas Unterberger Daniel Dötzl Gruppe 2 MEMORY MANAGEMENT

Speicher wird entweder in gleich große oder verschieden große Partitionen auf gespaltet

Fixed Partitioning

Page 6: Jakob Dietschy Arnold Huber Karl Philip Schneider Lukas Unterberger Daniel Dötzl Gruppe 2 MEMORY MANAGEMENT

Partitionen sind variabel – in Bezug auf Größe und Anzahl

Dynamic Partitioning

Page 7: Jakob Dietschy Arnold Huber Karl Philip Schneider Lukas Unterberger Daniel Dötzl Gruppe 2 MEMORY MANAGEMENT

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

Externe Fragmentierung

Page 8: Jakob Dietschy Arnold Huber Karl Philip Schneider Lukas Unterberger Daniel Dötzl Gruppe 2 MEMORY MANAGEMENT

First-Fit

Best-Fit

Next-Fit

Placement Algorithmen

Page 9: Jakob Dietschy Arnold Huber Karl Philip Schneider Lukas Unterberger Daniel Dötzl Gruppe 2 MEMORY MANAGEMENT

Wegen der internen bzw. externen Fragmentierung beim Partitioning wurde Paging und Segmentierung entwickelt.

Paging & Segmentierung

Page 10: Jakob Dietschy Arnold Huber Karl Philip Schneider Lukas Unterberger Daniel Dötzl Gruppe 2 MEMORY MANAGEMENT

Hauptspeicher -> in kleine Frames unterteilt (Frames alle gleich groß !)

Prozesse werden in Pages unterteilt(Page genauso groß wie Frame !)

Paging

Page 11: Jakob Dietschy Arnold Huber Karl Philip Schneider Lukas Unterberger Daniel Dötzl Gruppe 2 MEMORY MANAGEMENT

Paging

Page 12: Jakob Dietschy Arnold Huber Karl Philip Schneider Lukas Unterberger Daniel Dötzl Gruppe 2 MEMORY MANAGEMENT

Prozesse werden in Segmente aufgeteiltTyp.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.

Segmentierung

Page 13: Jakob Dietschy Arnold Huber Karl Philip Schneider Lukas Unterberger Daniel Dötzl Gruppe 2 MEMORY MANAGEMENT

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

Viritual Memory

Page 14: Jakob Dietschy Arnold Huber Karl Philip Schneider Lukas Unterberger Daniel Dötzl Gruppe 2 MEMORY MANAGEMENT

Prozeßabarbeitung mit Virtual Memory

• Resident Set

• Memory Fault Interrupt

• Principle Of Locality

• Trashing

Prozessbearbeitung

Page 15: Jakob Dietschy Arnold Huber Karl Philip Schneider Lukas Unterberger Daniel Dötzl Gruppe 2 MEMORY MANAGEMENT

Virtual Memory Paging

• Adreßraum in Frames• Erweiterung der Page Tables um

– Present Bit P

– Modify Bit M

• „Page Table Pointer“ Register

Virtual Memory Paging

Page 16: Jakob Dietschy Arnold Huber Karl Philip Schneider Lukas Unterberger Daniel Dötzl Gruppe 2 MEMORY MANAGEMENT

Fetch Policy

• Demand Paging

• Prepaging

Fetch Policy

Page 17: Jakob Dietschy Arnold Huber Karl Philip Schneider Lukas Unterberger Daniel Dötzl Gruppe 2 MEMORY MANAGEMENT

Sekundärspeicher

Page L Page F Page # Page F Page #

Aus-lagerung

Hauptspeicher

Global Replacement Policy

„Frame Locking“

Page LPage L

Page FPage F

Page #Page #

Page #Page #

Page FPage F

Local Replacement Policy

Page #Page #

Page #Page #Page #Page #

Resident-Set-ManagementVariable Allocation

Fixed Allocation

Aus-lagerung

Page 18: Jakob Dietschy Arnold Huber Karl Philip Schneider Lukas Unterberger Daniel Dötzl Gruppe 2 MEMORY MANAGEMENT

Replacement Policy

OPT – Optimal RP

LRU – Last Recently Used RP

LRU – First-In-First-Out RP

Clock RP

Page Faults

Strategien - Algorithmen

Implementierung einfach aufwendig

gering hoch

Referenzierung Zeit Anzahl Aufrufe

Page 19: Jakob Dietschy Arnold Huber Karl Philip Schneider Lukas Unterberger Daniel Dötzl Gruppe 2 MEMORY MANAGEMENT

Jakob DietschyArnold Huber

Karl Philip SchneiderLukas Unterberger

Daniel Dötzl

Gruppe 2MEMORY MANAGEMENT