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

Preview:

Citation preview

Jakob DietschyArnold Huber

Karl Philip SchneiderLukas Unterberger

Daniel Dötzl

Gruppe 2MEMORY MANAGEMENT

Betriebssystem muss Funktionen zum Memory Management bereitstellen:

• Prozesse müssen effektiv im Hauptspeicher sein

• Nicht verwendetet Prozesse auslagern

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

• Fixed Partitioning

• Dynamic Partitioning

• Buddy System

Positionierung Hauptspeicher

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

Fixed Partitioning

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

Dynamic Partitioning

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

First-Fit

Best-Fit

Next-Fit

Placement Algorithmen

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

Paging & Segmentierung

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

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

Paging

Paging

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

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

Prozeßabarbeitung mit Virtual Memory

• Resident Set

• Memory Fault Interrupt

• Principle Of Locality

• Trashing

Prozessbearbeitung

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

Fetch Policy

• Demand Paging

• Prepaging

Fetch Policy

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

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

Jakob DietschyArnold Huber

Karl Philip SchneiderLukas Unterberger

Daniel Dötzl

Gruppe 2MEMORY MANAGEMENT

Recommended