Geheugenbeheer Flashcards
Wat is partitionering met vaste partities? Welke 2 vormen bestaan er?
Bij partitionering met vaste partities worden de partities bij het opstarten vast gelegd. De partities kunnen een gelijke grootte hebben of verschillende groottes (dan wordt om een nieuw proces te schrijven de kleinst mogelijke partitie gebruikt). Partitionering met vaste partities veroorzaakt echter wel interne fragmentatie.
Voordelen:
eenvoudig
processen kunnen gemakkelijk naar schijf worden geschreven om plaats te maken voor andere
Nadelen:
verspilling van geheugen
partitie kan te klein zijn voor een programma
o vroeger opgelost met overlays / trucs
Wat is interne fragmentatie bij vaste partitionering van het geheugen? Geef een voorbeeld
Doordat de partities niet exact passen zal er ruimte binnen de blokken verloren gaan. Als er bijvoorbeeld gelijke blokken van 10 MB gebruikt worden, en er moet een proces van 5 MB ingeplaatst worden, gaat er 5 MB verloren. Anderzijds, als er blokken van 2, 4, 8 en 16 MB gebruikt worden, en er moet een proces van 5 MB in geplaatstworden, gaat er 3 MB verloren.
Wat is dynamische partitionering?
Dynamische partitionering houdt in dat partities worden gecreëerd wanneer ze nodig zijn, met precies de nodige grootte. Er zijn drie strategieën om een proces te plaatsen: best-fit (zoek de kleinste partitie die groot genoeg is), first-fit (zoek de eerste partitie die groot genoeg is) en next-fit (zoek vanaf de vorige partitie tot een partitie die groot genoeg is). Dit beperkt de interne fragmentatie, maar veroorzaakt wel externe fragmentatie. Deze laatste kan opgelost worden door compactation.
Wat is externe fragmentatie bij dynamische partitionering van het geheugen? Geef een voorbeeld. Wat is de oplossing voor dit probleem?
Doordat de groottes niet vastliggen, maar afhangen van het proces zullen er blokken ontstaan die te klein zijn om nog processen in te zetten. Stel dat er een blok is van 16 MB dat gekozen wordt om een proces van 15 MB in te zetten. Dan gaat er 1 MB verloren aan externe partitionering. Dit kan opgelost worden door compactation,hierbij worden de blokken van de processen terug bij elkaar geschoven.
Stel dat je volgende dynamische partitionering hebt. Er wordt eenaanvraag gedaan voor … MB. Waar zal deze terecht komen volgens first-fit, best-fit en next-fit?
ZIE AFBEELDING VRAAG 40
Leg de werking van segmenting uit.
Een proces heeft een aantal segmenten, en ieder segment heeft een nummer, een basisadres (eerste adres vanhet segment) en een lengte. Deze worden opgeslagen in de segment table van het proces. Een logisch adres bestaat uit de segmentnummer en een offset. Het basisadres wordt opgeteld bij de offset en zo wordt het fysieke adres berekend.
Wat is een segmentation fault?
Dit komt voor wanneer men de offset de grenswaarde (lengte) overschrijdt. Men zou dan buiten het segment terecht komen.
Wat is thrashing?
Trashing is de situatie waarbij het OS meer tijd nodig heeft om te swappen dan om effectief processen uit te voeren.
Wat is een page fault? hoe reageert het OS hierop?
Dit treed op wanneer een page niet in het geheugen zit. Dit is een interrupt die ervoor zal zorgen dat de on disk data geswapt wordt en het proces geresumed wordt.