mem_ex: buddy system Gegeven: een geheugenblok van 1 megabyte wordt toegewezen met het buddysysteem. A)Toon de resultaten van de volgende reeks in een overzicht. B)Toon de binaire boomstructuur die volgt op het vrijgeven van B. Request A: 70 KB Request B: 35 KB Request C: 80 KB Release A Request D: 60 KB Release B Release D Release C CDCDBCBCBACBAA
mem_ex: buddy system Request A: 70 KB Request B: 35 KB Request C: 80 KB Release A Request D: 60 KB Release B Release D Release C DC D C128
mem_ex: address translation Gegeven: Veronderstel dat de page table voor het proces dat momenteel wordt uitgevoerd door de processor er uit ziet als de volgende tabel. Alle getallen zijn decimaal, alles is genummerd beginnend bij 0 en alle adressen zijn byte adressen. De paginagrootte is 1024 bytes. VPNvalid-bitreference-bitmodify- bitPFN
Geheugen: oefening 2 VPNvalid-bitreference-bitmodify- bitPFN Gevraagd: Met welke fysieke adressen zouden de volgende virtuele adressen overeenkomen? 1052: 2221: 5499: 1052 = 1 x 7 x = = 2 x page fault 5499 = 5 x 0 x = 379
mem_ex: page tables Gegeven: - gepagineerd virtueel geheugensysteem met 32-bit virtuele adressen - pagina’s hebben omvang van 1 kB - voor elke tabel entry zijn 32 bits nodig - lengte van page table = max. 1 page Gevraagd: a.Hoeveel page table niveaus zijn nodig? b.Wat is omvang van page table op elk niveau? c.Kleine pagina omvang kan zowel boven als onder de hierarchie van de page table gebruikt worden. Wat is efficientst?
mem_ex: page tables Gegeven: - gepagineerd virtueel geheugensysteem met 32-bit virtuele adressen - pagina’s hebben omvang van 1 kB - voor elke tabel entry zijn 32 bits nodig - lengte van page table = max. 1 page a.Hoeveel page table niveaus zijn nodig? 2 32 bytes in main memory 2 10 bytes per page = 2 22 pages 2 10 bytes per page table 2 2 bytes per entry = 2 8 entries per page table Ten minste drie levels nodig
mem_ex: page tables Gegeven: - gepagineerd virtueel geheugensysteem met 32-bit virtuele adressen - pagina’s hebben omvang van 1 kB - voor elke tabel entry zijn 32 bits nodig - lengte van page table = max. 1 page b. Wat is omvang van page table op elk niveau? 2 niveaus hebben 2 8 entries 1 niveau heeft 2 6 entries
mem_ex: page tables Gegeven: - gepagineerd virtueel geheugensysteem met 32-bit virtuele adressen - pagina’s hebben omvang van 1 kB - voor elke tabel entry zijn 32 bits nodig - lengte van page table = max. 1 page c. Kleine pagina omvang kan zowel boven als onder de hierarchie van de page table gebruikt worden. Wat is efficientst? 8 bits 6 bits10 bits 22 bits10 bits pages = pages 8 bits 6 bits 10 bits pages = pages 8 bits 6 bits 10 bits pages = pages
mem_ex: page tables Gegeven: - gepagineerd virtueel geheugensysteem met 32-bit virtuele adressen - pagina’s hebben omvang van 1 kB - voor elke tabel entry zijn 32 bits nodig - lengte van page table = max. 1 page d. Hoeveel ruimte is nodig voor de user page table? 8 bits 6 bits10 bits 22 bits10 bits pages = pages 16 Mbyte
mem_ex: replacement strategies Gegeven: 4 paginaframes toegewezen voor een gegeven proces: VPNPFNT_ladenT_refR-bitM-bit Stel: Paginafout opgetreden voor pagina 4. a. Welk page frame wordt vervangen bij elk van de volgende strategieën? A.FIFO B.LRU C.Clock D.Optimaal (met volgende paginaverwijzingen zijn: 4,0,0,0,2,4,2,1,0,3,2)
VPNPFNT_ladenT_refR-bitM-bit A.FIFO: B.LRU: C.Clock : D.Optimaal: Volgende paginaverwijzingen zijn: 4, 0, 0, 0, 2, 4, 2, 1, 0, 3, 2 PFN 3 PFN 1 PFN 0 PFN 3 b. Hoeveel paginafouten bij tijdsvenster van 4 ipv vaste toewijzing? F F F
mem_ex: belady’s anomaly Gegeven: Een proces verwijst naar 5 pagina’s (A, B, C, D, E) in de volgende volgorde: A; B; C; D; A; B; E; A; B; C; D; E Veronderstel dat FIFO als vervangingsalgoritme wordt gebruikt. Vraag: Bepaal het aantal paginaoverdrachten tijdens deze reeks verwijzingen, beginnend met een leeg hoofdgeheugen met 3 page frames. Herhaal dit voor 4 page frames.
mem_ex: belady’s anomaly A B C D A B E A B C D E A B C D A B E E E C D D A B C D A B B B E C C A B C D A A A B E E F F F F F F F F F 9 page faults A B C D A B E A B C D E A B C D D D E A B C C C A B C C C D E A B B B A B B B C D E A A A A A A B C D E E E F F F F F 10 page faults
mem_ex: page transfers Gegeven: Een proces bevat acht virtuele pagina’s op schijf en krijgt vier page frames in het hoofdgeheugen toegewezen. Het paginaspoor ziet er als volgt uit: Vraag: a.bereken hit-ratio bij LRU als vervangingsstrategie. b.bereken hit-ratio bij FIFO als vervangingsstrategie. Oplossing (thuis uitwerken): a.hit-ratio LRU: 16/33 b.Hit-ration FIFO: 16/33
mem_ex: page table levels Gegeven: pagina grootte = 4 kilobyte; page table entry = 4 bytes Gevraagd: Hoeveel niveaus van page tables nodig om 64-bit adresruimte te vertalen als page table op hoogste niveau in één page past? Oplossing: 2 12 adressen per page 2 10 entries per page 2 22 locaties bereikt door 1 page table depthaddress space 12^22 bytes 22^32 bytes 32^42 bytes 42^52 bytes 52^62 bytes 62^72 bytes
mem_ex: TLB performance Gegeven: Systeem van adresvertaling met page table van één niveau Gevraagd: a. Indien geheugenverwijzing 200 ns, hoe lang duurt een verwijzing naar gepagineerd geheugen? b. Indien overhead van TLB 20 ns is en 85% zijn hits in TLB, hoe lang duurt een verwijzing naar gepagineerd geheugen gemiddeld? Oplossing: a.200 ns ns = 400 ns b.(0,85 x 220 ns) + (0,15 x420 ns) = 250 ns
mem_ex: segm/pag Gegeven: - Taak wordt verdeeld in vier even grote segmenten. - Voor elk segment wordt een paginatabel met acht entries gebouwd. - Paginagrootte is 2 kilobytes Gevraagd: a.Wat is maximum grootte van elk segment? b.Wat is maximale logische adresruimte voor elke taak? Oplossing: a.16 kilobytes b.64 kilobytes