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
- Hadoop hdfs latency
- 4greedy
- Web content caching and distribution
- Tetembungan ingkang kaginakaken ing tembang
- Adaptive insertion policies for high performance caching
- Adaptive insertion policies for high performance caching
- Kernel linux security module m1 support
- Embedded linux vs desktop linux
- Schematic view of swapping
- A process is busy swapping pages in and out. *
- Schematic view of swapping
- Swapping
- Youjipp
- Swapping chapter 6
- Skema swapping
- Swapping traduzione
- Swapping ch 9
- Schematic view of swapping
- Banner swapping in e commerce
- Swapping ch 14
- Virtualmemory
- Flag register of 80386 microprocessor
- Paging in non contiguous memory allocation
- Page table
- Komponen sistem paging
- Virtual memory os
- Performance of demand paging
- Paging system design
- Umhs paging
- Segmentation and paging
- What are the characteristics of paging ?
- How to post on facebook wall using graph api
- Tlb paging
- Paging in non contiguous memory allocation
- Demand paging
- Multilevel paging in os
- Paging in os
- Paging
- Paging simulation
- Shadow paging
- Backup and recovery techniques
- Comp3500
- Virtual memory demand paging
- Demand paging in virtual memory
- Contoh paging
- Paging wireless communication
- Performance of demand paging
- Pong paging
- Sap hana memory management
- Virtual memory in os
- Ip based paging system
- Paging mechanism in 80386
- Memory address translation in 8086
- Paging in lte
- Vsts octopus deploy