54
1 Linux Paging, Caching und Swapping

1 Linux Paging, Caching und Swapping. 1 Vortragsstruktur Paging – Das Virtuelle Speichermodell –Die Page Table im Detail –Page Allocation und Page Deallocation

Embed Size (px)

Citation preview

Page 1: 1 Linux Paging, Caching und Swapping. 1 Vortragsstruktur Paging – Das Virtuelle Speichermodell –Die Page Table im Detail –Page Allocation und Page Deallocation

1

Linux Paging, Caching und Swapping

Page 2: 1 Linux Paging, Caching und Swapping. 1 Vortragsstruktur Paging – Das Virtuelle Speichermodell –Die Page Table im Detail –Page Allocation und Page Deallocation

1

Vortragsstruktur• Paging

– Das Virtuelle Speichermodell

– Die Page Table im Detail

– Page Allocation und Page Deallocation

– Memory Mapping & Demand Paging

• Caching– Die verschiedenen Caches

• Swapping– Welche Pages eines Prozesses werden ausgelagert

– Der Kernel Swap Demon (kswapd)

– Freimachen von Speicherseiten

Page 3: 1 Linux Paging, Caching und Swapping. 1 Vortragsstruktur Paging – Das Virtuelle Speichermodell –Die Page Table im Detail –Page Allocation und Page Deallocation

1

VPFN 3VPFN 2VPFN 1VPFN 0

VPFN 2VPFN 1VPFN 0

PFN 7PFN 6PFN 5PFN 4PFN 3PFN 2PFN 1PFN 0

Prozeß 1 Prozeß 2

Virtuelle Speicherseite eines Prozesses

Physische Speicherseite eines Prozesses

Physische Speicherseite die von mehreren Prozessen gemeinsam genutzt wird

Page 4: 1 Linux Paging, Caching und Swapping. 1 Vortragsstruktur Paging – Das Virtuelle Speichermodell –Die Page Table im Detail –Page Allocation und Page Deallocation

1

VPFN 3VPFN 2VPFN 1VPFN 0

VPFN 2VPFN 1VPFN 0

PFN 7PFN 6PFN 5PFN 4PFN 3PFN 2PFN 1PFN 0

Prozeß 1 Prozeß 2

Page TablePage Table

Virtuelle Speicherseite eines Prozesses

Physische Speicherseite eines Prozesses

Physische Speicherseite die von mehreren Prozessen gemeinsam genutzt wird

Page Table

Page 5: 1 Linux Paging, Caching und Swapping. 1 Vortragsstruktur Paging – Das Virtuelle Speichermodell –Die Page Table im Detail –Page Allocation und Page Deallocation

1

Virtuell Physisch

Virtuelle Adresse 0x00484456

Page-Größe bei ix86 Systemen beträgt 4 Kilobyte, also 0x1000 B.

VPFN 0x484

Page Offset 0x456

PFN 0x89

Page Offset 0x456

Physische Adresse 0x00089456

Prozessor extrahiert Offset und VPFN

Prozessor greift auf Page Table 0x484 zu

Prozessor generiert physische Adresse und greift darauf zu

Page 6: 1 Linux Paging, Caching und Swapping. 1 Vortragsstruktur Paging – Das Virtuelle Speichermodell –Die Page Table im Detail –Page Allocation und Page Deallocation

1

Vortragsstruktur• Paging

– Das Virtuelle Speichermodell– Die Page Table im Detail

– Page Allocation und Page Deallocation

– Memory Mapping & Demand Paging

• Caching– Die verschiedenen Caches

• Swapping– Welche Pages eines Prozesses werden ausgelagert

– Der Kernel Swap Demon (kswapd)

– Freimachen von Speicherseiten

Page 7: 1 Linux Paging, Caching und Swapping. 1 Vortragsstruktur Paging – Das Virtuelle Speichermodell –Die Page Table im Detail –Page Allocation und Page Deallocation

1

Ein einzelner Page Table Eintrag eines Prozesses

V Zugriffsrechte D PFN

„Valid“ Flag

„Page Dirty“ Flag

Page 8: 1 Linux Paging, Caching und Swapping. 1 Vortragsstruktur Paging – Das Virtuelle Speichermodell –Die Page Table im Detail –Page Allocation und Page Deallocation

1

Ein einzelner Page Table Eintrag eines Prozesses

V Zugriffsrechte D PFN

„Valid“ Flag

„Page Dirty“ Flag

Valid gesetzt

Valid gelöscht PFN gelöscht

PFN gesetzt Seite vorhanden

Seite ungültig (Page fault)

&

&

Page 9: 1 Linux Paging, Caching und Swapping. 1 Vortragsstruktur Paging – Das Virtuelle Speichermodell –Die Page Table im Detail –Page Allocation und Page Deallocation

1

Ein einzelner Page Table Eintrag eines Prozesses

V Zugriffsrechte D PFN

„Valid“ Flag

„Page Dirty“ Flag

Valid gesetzt PFN gelöscht

Valid gelöscht PFN gesetzt

Valid gesetzt

Valid gelöscht PFN gelöscht

PFN gesetzt Seite vorhanden

Seite ungültig (Page fault)

Page fault: Demand Paging

Page fault: Seite im Swap

&

&

&

&

Page 10: 1 Linux Paging, Caching und Swapping. 1 Vortragsstruktur Paging – Das Virtuelle Speichermodell –Die Page Table im Detail –Page Allocation und Page Deallocation

1

Ein einzelner Page Table Eintrag eines Prozesses

V Zugriffsrechte D PFN

„Valid“ Flag

„Page Dirty“ Flag

Eine neue Page wird geladen

Page wird geändert (beschrieben)

Page wird auf Datenträgerausgelagert in den Swap Bereich

Page wird dringend für einen anderen Prozeß benötigt

Seite wird verworfen

Page wird nicht beschrieben

Page 11: 1 Linux Paging, Caching und Swapping. 1 Vortragsstruktur Paging – Das Virtuelle Speichermodell –Die Page Table im Detail –Page Allocation und Page Deallocation

1

Level 1 Level 2 Level 3 Byte in Seite

PFN PFN PFN Adresse

PGD

PGD: „Page Global Directory“.Vom Kernel initialisiert. Weist auf den ersten Page Table Level.

Physische Seite

Page 12: 1 Linux Paging, Caching und Swapping. 1 Vortragsstruktur Paging – Das Virtuelle Speichermodell –Die Page Table im Detail –Page Allocation und Page Deallocation

1

Vortragsstruktur• Paging

– Das Virtuelle Speichermodell

– Die Page Table im Detail– Page Allocation und Page Deallocation

– Memory Mapping & Demand Paging

• Caching– Die verschiedenen Caches

• Swapping– Welche Pages eines Prozesses werden ausgelagert

– Der Kernel Swap Demon (kswapd)

– Freimachen von Speicherseiten

Page 13: 1 Linux Paging, Caching und Swapping. 1 Vortragsstruktur Paging – Das Virtuelle Speichermodell –Die Page Table im Detail –Page Allocation und Page Deallocation

1

count

age

map_nr

„mem_map_t“ oder auch „Page“ Struktur:

Anzahl der Benutzer, die die Seite benutzen

Alter der Seite. Entscheidet, ob die Seite verworfen bzw. ausgelagert wird, wenn wieder Speicherplatz benötigt wird.

Physische PFN

Page 14: 1 Linux Paging, Caching und Swapping. 1 Vortragsstruktur Paging – Das Virtuelle Speichermodell –Die Page Table im Detail –Page Allocation und Page Deallocation

1

0

1

2

3

4

5

PFN 0

1

2

3

4

5

6

7

8

...

Freie Speicherseite im Hauptspeicher (nicht alloziert)

free_area Vektor

Page 15: 1 Linux Paging, Caching und Swapping. 1 Vortragsstruktur Paging – Das Virtuelle Speichermodell –Die Page Table im Detail –Page Allocation und Page Deallocation

1

4

0 0

1

2

3

4

5

PFN 0

1

2

3

4

5

6

7

8

...

Freie Speicherseite im Hauptspeicher (nicht alloziert)

mem_map Struktur

free_area Vektor

mem_map_t

Page 16: 1 Linux Paging, Caching und Swapping. 1 Vortragsstruktur Paging – Das Virtuelle Speichermodell –Die Page Table im Detail –Page Allocation und Page Deallocation

1

4

0 0

1

2

3

4

5

PFN 0

1

2

3

4

5

6

7

8

...

Freie Speicherseite im Hauptspeicher (nicht alloziert)

mem_map Struktur

free_area Vektor

mem_map_t

map Bitmaps

Page 17: 1 Linux Paging, Caching und Swapping. 1 Vortragsstruktur Paging – Das Virtuelle Speichermodell –Die Page Table im Detail –Page Allocation und Page Deallocation

1

Vortragsstruktur• Paging

– Das Virtuelle Speichermodell

– Die Page Table im Detail

– Page Allocation und Page Deallocation– Memory Mapping und Demand Paging

• Caching– Die verschiedenen Caches

• Swapping– Welche Pages eines Prozesses werden ausgelagert

– Der Kernel Swap Demon (kswapd)

– Freimachen von Speicherseiten

Page 18: 1 Linux Paging, Caching und Swapping. 1 Vortragsstruktur Paging – Das Virtuelle Speichermodell –Die Page Table im Detail –Page Allocation und Page Deallocation

1

vm_ops

vm_endvm_start

mm_struct vm_area_struct

z.B. Code

z.B. initialisierteDaten (Variablen)..

Virtueller Speicher des Prozesses

Valid gesetzt PFN gelöschtDemand Paging

&

Page 19: 1 Linux Paging, Caching und Swapping. 1 Vortragsstruktur Paging – Das Virtuelle Speichermodell –Die Page Table im Detail –Page Allocation und Page Deallocation

1

Vortragsstruktur• Paging

– Das Virtuelle Speichermodell

– Die Page Table im Detail

– Page Allocation und Page Deallocation

– Memory Mapping & Demand Paging

• Caching– Die verschiedenen Caches

• Swapping– Welche Pages eines Prozesses werden ausgelagert

– Der Kernel Swap Demon (kswapd)

– Freimachen von Speicherseiten

Page 20: 1 Linux Paging, Caching und Swapping. 1 Vortragsstruktur Paging – Das Virtuelle Speichermodell –Die Page Table im Detail –Page Allocation und Page Deallocation

1

Buffer Cache

Page Cache

Swap Cache

Hardware Caches TLB (Translation Look-aside Buffers)

Page 21: 1 Linux Paging, Caching und Swapping. 1 Vortragsstruktur Paging – Das Virtuelle Speichermodell –Die Page Table im Detail –Page Allocation und Page Deallocation

1

Buffer Cache

Block-Gerätetreiber

2 kB2 kB2 kB2 kB2 kB

Geräte-ID, Blocknummer

Hardware:Blockgerät (Festplatte)

Block wird geladen

Page 22: 1 Linux Paging, Caching und Swapping. 1 Vortragsstruktur Paging – Das Virtuelle Speichermodell –Die Page Table im Detail –Page Allocation und Page Deallocation

1

Page Cache

Page fault handling code

PagePagePagePagePage

Datei, Datenoffset

Festplatte

Pointer auf mem_map_t

(single-page read ahead)

page_hash_table

mem_map_tmem_map_tmem_map_tmem_map_tmem_map_t

Page 23: 1 Linux Paging, Caching und Swapping. 1 Vortragsstruktur Paging – Das Virtuelle Speichermodell –Die Page Table im Detail –Page Allocation und Page Deallocation

1

Swap Cache

Seite wird aus Swap File gelesen

Swap Cache erzeugt Page Table Entry (Swap File, Offset)

Page 24: 1 Linux Paging, Caching und Swapping. 1 Vortragsstruktur Paging – Das Virtuelle Speichermodell –Die Page Table im Detail –Page Allocation und Page Deallocation

1

Swap Cache

Seite wird aus Swap File gelesen

Page wird geändert (beschrieben)

Swap Cache erzeugt Page Table Entry (Swap File, Offset)

Page wird nicht beschrieben

Swap Cache löscht den Page Table Entry

Page 25: 1 Linux Paging, Caching und Swapping. 1 Vortragsstruktur Paging – Das Virtuelle Speichermodell –Die Page Table im Detail –Page Allocation und Page Deallocation

1

Swap Cache

Seite wird aus Swap File gelesen

Page wird geändert (beschrieben)

Swap Cache erzeugt Page Table Entry (Swap File, Offset)

Page wird nicht beschrieben

Swap Cache löscht den Page Table Entry

Seite soll ins Swap File ausgelagert werden

Page 26: 1 Linux Paging, Caching und Swapping. 1 Vortragsstruktur Paging – Das Virtuelle Speichermodell –Die Page Table im Detail –Page Allocation und Page Deallocation

1

Swap Cache

Seite wird aus Swap File gelesen

Page wird geändert (beschrieben)

Page wird in Swap File geschrieben

Swap Cache erzeugt Page Table Entry (Swap File, Offset)

Seite wird verworfen.Grosse Zeitersparnis

Page wird nicht beschrieben

Swap Cache löscht den Page Table Entry

Seite nicht im Cache Seite im Cache

Seite soll ins Swap File ausgelagert werden

Page 27: 1 Linux Paging, Caching und Swapping. 1 Vortragsstruktur Paging – Das Virtuelle Speichermodell –Die Page Table im Detail –Page Allocation und Page Deallocation

1

Hardware Caches TLB (Translation Look-aside Buffers)

CPU (Prozessor)

TLB

OS (Linux)

Page 28: 1 Linux Paging, Caching und Swapping. 1 Vortragsstruktur Paging – Das Virtuelle Speichermodell –Die Page Table im Detail –Page Allocation und Page Deallocation

1

Hardware Caches TLB (Translation Look-aside Buffers)

CPU (Prozessor)

TLB

OS (Linux)

ExceptionTLB miss

neuer TLB

Page 29: 1 Linux Paging, Caching und Swapping. 1 Vortragsstruktur Paging – Das Virtuelle Speichermodell –Die Page Table im Detail –Page Allocation und Page Deallocation

1

Hardware Caches TLB (Translation Look-aside Buffers)

CPU (Prozessor)

TLB

OS (Linux)exception bearbeitet

Page 30: 1 Linux Paging, Caching und Swapping. 1 Vortragsstruktur Paging – Das Virtuelle Speichermodell –Die Page Table im Detail –Page Allocation und Page Deallocation

1

Vortragsstruktur• Paging

– Das Virtuelle Speichermodell

– Die Page Table im Detail

– Page Allocation und Page Deallocation

– Memory Mapping & Demand Paging

• Caching– Die verschiedenen Caches

• Swapping– Welche Pages eines Prozesses werden ausgelagert

– Der Kernel Swap Demon (kswapd)

– Freimachen von Speicherseiten

Page 31: 1 Linux Paging, Caching und Swapping. 1 Vortragsstruktur Paging – Das Virtuelle Speichermodell –Die Page Table im Detail –Page Allocation und Page Deallocation

1

PFN 3PFN 2PFN 1PFN 0

PFN 7PFN 6PFN 5PFN 4

„Working Set“ eines Prozesses

Prozess mit Seiten im physischen Speicher

Page 32: 1 Linux Paging, Caching und Swapping. 1 Vortragsstruktur Paging – Das Virtuelle Speichermodell –Die Page Table im Detail –Page Allocation und Page Deallocation

1

PFN 3PFN 2PFN 1PFN 0

PFN 7PFN 6PFN 5PFN 4

„Working Set“ eines Prozesses

countage

map_nr

countage

map_nr

mem_map_tProzess mit Seiten im physischen Speicher

Page 33: 1 Linux Paging, Caching und Swapping. 1 Vortragsstruktur Paging – Das Virtuelle Speichermodell –Die Page Table im Detail –Page Allocation und Page Deallocation

1

PFN 3PFN 2PFN 1PFN 0

PFN 7PFN 6PFN 5PFN 4

„Working Set“ eines Prozesses

„Least Recently Used“ (LRU) Technik zur

Bestimmung des Seitenalters

countage

map_nr

countage

map_nr

mem_map_t

Linux

Prozess mit Seiten im physischen Speicher

Page 34: 1 Linux Paging, Caching und Swapping. 1 Vortragsstruktur Paging – Das Virtuelle Speichermodell –Die Page Table im Detail –Page Allocation und Page Deallocation

1

LRU im Detail:

Seite wird alloziert Das Alter wird gesetzt auf: age = 3

Seitenzugriff Das Alter wird um 3 eröht,Maximalwert ist 20

„kswapd“ prüft das AlterDas Alter wird um 1 reduziert.

Wenn 0 erreicht wird,gilt die Seite als alt.

Page 35: 1 Linux Paging, Caching und Swapping. 1 Vortragsstruktur Paging – Das Virtuelle Speichermodell –Die Page Table im Detail –Page Allocation und Page Deallocation

1

Vortragsstruktur• Paging

– Das Virtuelle Speichermodell

– Die Page Table im Detail

– Page Allocation und Page Deallocation

– Memory Mapping & Demand Paging

• Caching– Die verschiedenen Caches

• Swapping– Welche Pages eines Prozesses werden ausgelagert– Der Kernel Swap Demon (kswapd)

– Freimachen von Speicherseiten

Page 36: 1 Linux Paging, Caching und Swapping. 1 Vortragsstruktur Paging – Das Virtuelle Speichermodell –Die Page Table im Detail –Page Allocation und Page Deallocation

1

Systeminitialisierung

kswapd wirdgeladen

Kernel Swap Timerwird initialisiert

free_pages_high und free_pages_lowwerden initialisiert

Page 37: 1 Linux Paging, Caching und Swapping. 1 Vortragsstruktur Paging – Das Virtuelle Speichermodell –Die Page Table im Detail –Page Allocation und Page Deallocation

1

Systeminitialisierung

kswapd wirdgeladen

Kernel Swap Timerwird initialisiert

free_pages_low und free_pages_highwerden initialisiert

Anzahl freier Seiten unter free_pages_low?

nein

Page 38: 1 Linux Paging, Caching und Swapping. 1 Vortragsstruktur Paging – Das Virtuelle Speichermodell –Die Page Table im Detail –Page Allocation und Page Deallocation

1

Systeminitialisierung

kswapd wirdgeladen

Kernel Swap Timerwird initialisiert

free_pages_low und free_pages_highwerden initialisiert

Anzahl freier Seiten unter free_pages_low?

Anzahl freier Seiten unter free_pages_high?

nein

nein

Page 39: 1 Linux Paging, Caching und Swapping. 1 Vortragsstruktur Paging – Das Virtuelle Speichermodell –Die Page Table im Detail –Page Allocation und Page Deallocation

1

Systeminitialisierung

kswapd wirdgeladen

Kernel Swap Timerwird initialisiert

free_pages_low und free_pages_highwerden initialisiert

Anzahl freier Seiten unter free_pages_low?

Anzahl freier Seiten unter free_pages_high?

nein

nein

Don‘t Panic

Page 40: 1 Linux Paging, Caching und Swapping. 1 Vortragsstruktur Paging – Das Virtuelle Speichermodell –Die Page Table im Detail –Page Allocation und Page Deallocation

1

Systeminitialisierung

kswapd wirdgeladen

Kernel Swap Timerwird initialisiert

free_pages_low und free_pages_highwerden initialisiert

Anzahl freier Seiten unter free_pages_low?

Anzahl freier Seiten unter free_pages_high?

nein

neinja

Don‘t Panic

Page 41: 1 Linux Paging, Caching und Swapping. 1 Vortragsstruktur Paging – Das Virtuelle Speichermodell –Die Page Table im Detail –Page Allocation und Page Deallocation

1

Systeminitialisierung

kswapd wirdgeladen

Kernel Swap Timerwird initialisiert

free_pages_low und free_pages_highwerden initialisiert

Anzahl freier Seiten unter free_pages_low?

Anzahl freier Seiten unter free_pages_high?

nein

neinja

Don‘t Panic3 Seiten freimachen

Page 42: 1 Linux Paging, Caching und Swapping. 1 Vortragsstruktur Paging – Das Virtuelle Speichermodell –Die Page Table im Detail –Page Allocation und Page Deallocation

1

Systeminitialisierung

kswapd wirdgeladen

Kernel Swap Timerwird initialisiert

free_pages_low und free_pages_highwerden initialisiert

Anzahl freier Seiten unter free_pages_low?

Anzahl freier Seiten unter free_pages_high?

nein

neinja

Don‘t Panic3 Seiten freimachen

ja

Page 43: 1 Linux Paging, Caching und Swapping. 1 Vortragsstruktur Paging – Das Virtuelle Speichermodell –Die Page Table im Detail –Page Allocation und Page Deallocation

1

Systeminitialisierung

kswapd wirdgeladen

Kernel Swap Timerwird initialisiert

free_pages_low und free_pages_highwerden initialisiert

Anzahl freier Seiten unter free_pages_low?

Anzahl freier Seiten unter free_pages_high?

nein

nein

ja

ja

Don‘t Panic3 Seiten freimachen

6 Seiten freimachenNur halbeZeitspanne

schlafen

Page 44: 1 Linux Paging, Caching und Swapping. 1 Vortragsstruktur Paging – Das Virtuelle Speichermodell –Die Page Table im Detail –Page Allocation und Page Deallocation

1

Systeminitialisierung

kswapd wirdgeladen

Kernel Swap Timerwird initialisiert

free_pages_low und free_pages_highwerden initialisiert

Anzahl freier Seiten unter free_pages_low?

Anzahl freier Seiten unter free_pages_high?

nein

nein

ja

ja

Don‘t Panic3 Seiten freimachen

6 Seiten freimachenNur halbeZeitspanne

schlafen

Zuletzt benutzte Methode wiederbenutzen:

1.) Page- und Buffer-Cache Seiten reduzieren

(z.B. Memory Mapped Files, Festplattendaten)

2.) System V Shared Memory Seiten auslagern (Swap File)

3.) Speicherseiten auslagern (Swap File)

Page 45: 1 Linux Paging, Caching und Swapping. 1 Vortragsstruktur Paging – Das Virtuelle Speichermodell –Die Page Table im Detail –Page Allocation und Page Deallocation

1

Vortragsstruktur• Paging

– Das Virtuelle Speichermodell

– Die Page Table im Detail

– Page Allocation und Page Deallocation

– Memory Mapping & Demand Paging

• Caching– Die verschiedenen Caches

• Swapping– Welche Pages eines Prozesses werden ausgelagert

– Der Kernel Swap Demon (kswapd)– Freimachen von Speicherseiten

Page 46: 1 Linux Paging, Caching und Swapping. 1 Vortragsstruktur Paging – Das Virtuelle Speichermodell –Die Page Table im Detail –Page Allocation und Page Deallocation

1

1.) Page- und Buffer-Cache Seiten reduzieren

(z.B. Memory Mapped Files, Festplattendaten)

Kein Swapping (Datenträgerzugriff) nötig!

mem_map mem_map_t Physische Seiten

„clock“ Algorithmus

Page 47: 1 Linux Paging, Caching und Swapping. 1 Vortragsstruktur Paging – Das Virtuelle Speichermodell –Die Page Table im Detail –Page Allocation und Page Deallocation

1

2.) System V Shared Memory Seiten auslagern (Swap File)

Physische Seiten

„clock“ Algorithmus Prozeß A

Prozeß B

Prozeß C

Page 48: 1 Linux Paging, Caching und Swapping. 1 Vortragsstruktur Paging – Das Virtuelle Speichermodell –Die Page Table im Detail –Page Allocation und Page Deallocation

1

2.) System V Shared Memory Seiten auslagern (Swap File)

Physische Seiten

„clock“ Algorithmus

Page Tables

Prozeß A

Prozeß B

Prozeß C

Page 49: 1 Linux Paging, Caching und Swapping. 1 Vortragsstruktur Paging – Das Virtuelle Speichermodell –Die Page Table im Detail –Page Allocation und Page Deallocation

1

2.) System V Shared Memory Seiten auslagern (Swap File)

Physische Seiten

„clock“ Algorithmus

Page Tables

Prozeß A

Prozeß B

Prozeß C

Page Table Eintrag „invalid“ setzen

PFN auf Swapposition setzen (Datei, Offset)

User Count für die Seite um 1 reduzieren (mem_map_t)

Wenn User Count = 0, dann Seite „swappen“

Page 50: 1 Linux Paging, Caching und Swapping. 1 Vortragsstruktur Paging – Das Virtuelle Speichermodell –Die Page Table im Detail –Page Allocation und Page Deallocation

1

3.) Speicherseiten auslagern (Swap File)

kswapd

Prozeß A Prozeß B Prozeß C

Darf Prozeß geswappt werden?

Page 51: 1 Linux Paging, Caching und Swapping. 1 Vortragsstruktur Paging – Das Virtuelle Speichermodell –Die Page Table im Detail –Page Allocation und Page Deallocation

1

3.) Speicherseiten auslagern (Swap File)

kswapd

Prozeß A Prozeß B Prozeß C

Darf Prozeß geswappt werden?

Dürfen Seiten geswappt werden? (nicht locked / shared)

Page 52: 1 Linux Paging, Caching und Swapping. 1 Vortragsstruktur Paging – Das Virtuelle Speichermodell –Die Page Table im Detail –Page Allocation und Page Deallocation

1

3.) Speicherseiten auslagern (Swap File)

kswapd

Prozeß A Prozeß B Prozeß C

Darf Prozeß geswappt werden?

Dürfen Seiten geswappt werden? (nicht locked / shared)

Muß eine Seite geswappt werden oder kann man sie einfach verwerfen? (Können die Informationen anders wiederhergestellt werden?)

Page 53: 1 Linux Paging, Caching und Swapping. 1 Vortragsstruktur Paging – Das Virtuelle Speichermodell –Die Page Table im Detail –Page Allocation und Page Deallocation

1

3.) Speicherseiten auslagern (Swap File)

kswapd

Prozeß A Prozeß B Prozeß C

Darf Prozeß geswappt werden?

Dürfen Seiten geswappt werden? (nicht locked / shared)

Muß eine Seite geswappt werden oder kann man sie einfach verwerfen? (Können die Informationen anders wiederhergestellt werden?)

Seite verwerfen Einige wenige Seiten wählen

Seiten ins Swap File auslagern

Page 54: 1 Linux Paging, Caching und Swapping. 1 Vortragsstruktur Paging – Das Virtuelle Speichermodell –Die Page Table im Detail –Page Allocation und Page Deallocation

1

Vortragsende

„Linux Paging, Caching und Swapping“