Linux Paging Caching und Swapping 1 Vortragsstruktur Paging
- Slides: 54
Linux Paging, Caching und Swapping 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 1
Prozeß 1 Prozeß 2 Virtuelle Speicherseite eines Prozesses Physische Speicherseite die von mehreren Prozessen gemeinsam genutzt wird 1
Prozeß 1 Prozeß 2 Page Table Virtuelle Speicherseite eines Prozesses Physische Speicherseite die von mehreren Prozessen gemeinsam genutzt wird Page Table 1
Page-Größe bei ix 86 Systemen beträgt 4 Kilobyte, also 0 x 1000 B. Virtuelle Adresse 0 x 00484456 Physische Adresse 0 x 00089456 Prozessor extrahiert Offset und VPFN 0 x 484 Page Offset 0 x 456 Prozessor greift auf Page Table 0 x 484 zu Prozessor generiert physische Adresse und greift darauf zu PFN 0 x 89 Page Offset 0 x 456 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 1
Ein einzelner Page Table Eintrag eines Prozesses „Valid“ Flag „Page Dirty“ Flag 1
Ein einzelner Page Table Eintrag eines Prozesses „Page Dirty“ Flag & & 1
Ein einzelner Page Table Eintrag eines Prozesses „Page Dirty“ Flag & & 1
Ein einzelner Page Table Eintrag eines Prozesses „Valid“ Flag 1
PGD Physische Seite PGD: „Page Global Directory“. Vom Kernel initialisiert. Weist auf den ersten Page Table Level. 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 1
„mem_map_t“ oder auch „Page“ Struktur: Anzahl der Benutzer, die Seite benutzen Alter der Seite. Entscheidet, ob die Seite verworfen bzw. ausgelagert wird, wenn wieder Speicherplatz benötigt wird. Physische PFN 1
free_area Vektor Freie Speicherseite im Hauptspeicher (nicht alloziert) 1
free_area Vektor mem_map Struktur mem_map_t Freie Speicherseite im Hauptspeicher (nicht alloziert) 1
free_area Vektor mem_map Struktur map Bitmaps mem_map_t Freie Speicherseite im Hauptspeicher (nicht alloziert) 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 1
mm_struct vm_area_struct & Virtueller Speicher des Prozesses 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 1
1
Block wird geladen Geräte-ID, Blocknummer 1
Pointer auf mem_map_t Datei, Datenoffset (single-page read ahead) 1
1
1
1
1
1
Exception TLB miss neuer TLB 1
exception bearbeitet 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 1
Prozess mit Seiten im physischen Speicher „Working Set“ eines Prozesses 1
mem_map_t Prozess mit Seiten im physischen Speicher „Working Set“ eines Prozesses 1
mem_map_t Prozess mit Seiten im physischen Speicher „Least Recently Used“ (LRU) Technik zur Bestimmung des Seitenalters „Working Set“ eines Prozesses 1
LRU im Detail: 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 1
1
nein 1
nein 1
nein 1
nein ja nein 1
nein ja nein 1
ja nein 1
ja nein 1
ja nein 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 1
1. ) Page- und Buffer-Cache Seiten reduzieren (z. B. Memory Mapped Files, Festplattendaten) Kein Swapping (Datenträgerzugriff) nötig! mem_map_t Physische Seiten „clock“ Algorithmus 1
2. ) System V Shared Memory Seiten auslagern (Swap File) Physische Seiten „clock“ Algorithmus Prozeß A Prozeß B Prozeß C 1
2. ) System V Shared Memory Seiten auslagern (Swap File) Physische Seiten „clock“ Algorithmus Page Tables Prozeß A Prozeß B Prozeß C 1
2. ) System V Shared Memory Seiten auslagern (Swap File) Physische Seiten „clock“ Algorithmus Page Tables Prozeß A Prozeß B Prozeß C 1
3. ) Speicherseiten auslagern (Swap File) Darf Prozeß geswappt werden? 1
3. ) Speicherseiten auslagern (Swap File) Darf Prozeß geswappt werden? Dürfen Seiten geswappt werden? (nicht locked / shared) 1
3. ) Speicherseiten auslagern (Swap File) 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? ) 1
3. ) Speicherseiten auslagern (Swap File) 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? ) 1
Vortragsende „Linux Paging, Caching und Swapping“ 1
- Web content caching and distribution
- Cacahing larik saben sapada tembang kawastanan
- Adaptive insertion policies for high performance caching
- Adaptive insertion policies for high performance caching
- Hdfs latency
- 4greedy
- Uclinux
- Linux kernel linux security module m1
- Youjup
- A process is busy swapping pages in and out. *
- Skema swapping
- Memory management unit
- Swapping chapter 6
- Swapping chapter 6
- Schematic view of swapping
- Swapping traduzione
- Swapping 15 chapter
- Schematic view of swapping
- Banner swapping in e commerce
- Swapping chapter 9
- Q concepts
- Tlb paging
- Edi sugiarto
- Virtual memory os
- Performance of demand paging
- Paging system design
- Umhs paging
- In segmentation each address is specified by
- Characteristics of virtual memory
- How to post on facebook wall using graph api
- Paged memory management
- Tlb paging
- Demand paging
- Multilevel paging in os
- Paging in operating system
- Paging
- Paging simulation
- Secondary storage
- Immediate update and deferred update in dbms
- Comp3500
- Memory paging
- Contoh paging
- Demand paging in virtual memory
- Mobile communication
- Performance of demand paging
- Pong paging
- Sap extended memory parameter
- Virtual memory
- Ip based paging system
- Paging mechanism in 80386
- Paging in lte
- Logical address in 80386 is
- Virtual memory
- Explain operating modes of 80386
- Ip alias linux