Virtual-Memory Management - Demand Paging
13 belangrijke vragen over Virtual-Memory Management - Demand Paging
Wat is het verschil tussen een swapper en een pager?
Een swapper swapt volledige processen tussen geheugen en disk, terwijl een pager op paginaniveau werkt.
Wat kan het betekenen als de valid-invalid bit de waarde invalid heeft?
- De pagina behoort niet tot de logische adresruimte van het proces
- De pagina is niet in het geheugen geladen
In welke stappen verloopt het afhandelen van een page-fault?
- Bepaal of het om een verwijzing naar een geldige pagina gaat
- Als de verwijzing ongeldig is: breek het proces af
- Zoek een vrij frame
- Lees de gevraagde pagina in het frame in
- Pas de pagetable aan
- Herstart de onderbroken instructie
- Hogere cijfers + sneller leren
- Niets twee keer studeren
- 100% zeker alles onthouden
Wat wordt bedoeld met 'locality of reference'?
Opeenvolgende verwijzingen naar het geheugen staan vaak op de dezelfde pagina, zodat het aantal page-faults beperkt is.
Waarom is disk-I/O naar swapspace sneller dan disk-I/O naar het filesysteem?
Swapspace is verdeeld in grotere blokken. Bovendien wordt geen gebruik gemaakt van file-lookups en indirecte allocatietechnieken.
Uit welke drie componenten bestaat I/O-time?
- Seek time: de tijd die nodig is om de lees/schrijf-kop op de juiste schijfpositie te positioneren.
- Latency.
- Transfer time: de overdrachtssnelheid.
Wat wordt bedoeld met demand paging?
Bij demand paging worden pagina's alleen geladen op het moment dat deze nodig zijn.
In het meest extreme geval staat bij aanvang van een proces nog geen enkele enige pagina in het geheugen. Dit wordt pure demand paging genoemd.
Wat is een lazy swapper?
Met de term lazy swapper wordt aangegeven dat een proces niet in zijn geheel, zoals bij swappen, maar gedeeltelijk in het geheugen wordt geladen. Pagina's worden pas in het geheugen geladen op het moment dat deze echt nodig zijn.
Waaruit bestaat de hardware support voor demand paging?
Net zoals bij paging en swapping bestaat de hardware support voor demand paging uit:
- Een page table
- Achtergrondgeheugen in de vorm van swap space
Na het optreden van een page fault moet de instructie waardoor de page fault werd veroorzaakt opnieuw worden uitgevoerd. Dit is echter niet altijd mogelijk. Waarom niet?
Het geval kan zich voordoen dat een deel van de instructie is uitgevoerd en het resultaat daarvan niet teruggedraaid kan worden.
Noem twee oplossingen om ervoor te zorgen dat een instructie na het optreden van page fault altijd opnieuw kan worden uitgevoerd.
- Page faults voorzien en hierop anticiperen door deze in een eerder stadium te forceren.
- De waarden van de overschreven locaties in tijdelijke registers opslaan.
Hoe wordt bij demand paging de effectieve toegangstijd tot het geheugen berekend?
Dit gebeurt op basis van de memory access time (geen page fault), de page fault service time (wel page fault) en de kans van het optreden van een page fault.
Op welke twee manieren kan bij demand paging gebruik worden gemaakt van de swap space?
- Bij de start van een proces de volledige process image naar de swap space kopiëren.
- De pagina's vanuit het filesysteem in het geheugen laden en later terugplaatsen in de swap space.
De vragen op deze pagina komen uit de samenvatting van het volgende studiemateriaal:
- Een unieke studie- en oefentool
- Nooit meer iets twee keer studeren
- Haal de cijfers waar je op hoopt
- 100% zeker alles onthouden