Ontwerp en bouw een besturingssysteem/Werking van de PC/Geheugen
Elke computer heeft een bepaalde hoeveelheid werkgeheugen. Er is een maximum dat hardwarematig in de computer kan worden aangebracht, maar ook een maximum (dat veel lager kan liggen) dat de computer ook werkelijk kan benutten. Er zijn verschillende manieren om met het geheugen om te gaan, en aan de basis daarvan liggen twee principes: paging en segmentation.
Beschikbaar geheugen
[bewerken]Hoeveel geheugen er ook fysiek in de computer zit, de programma's kunnen maximaal zoveel bytes adresseren als hun woord-lengte toelaat. Dus een 32-bit processor kan maximaal 232 bytes (is 4 GiB) adresseren. Helaas gebruiken de verschillende hardwareonderdelen ook delen van dit adresbereik. Als de computer fysiek minder dan 4 GiB aan geheugen geïnstalleerd heeft, kan de hardware het ongebruikte adresbereik gebruiken. Maar als de computer 4 GiB aan geheugen heeft, kan dit geheugen niet allemaal geadresseerd worden omdat de hardware delen van dit geheugen gebruikt.
Pagina's
[bewerken]Het geheugen bestaat uit een grote hoeveelheid zogenaamde pagina's (pages in het Engels). Elke pagina heeft een vaste grootte (bijvoorbeeld 4 KiB), en meestal zijn alle pagina's waar het geheugen in is opgedeeld even groot (hoewel er mogelijkheden zijn om bepaalde pagina's 4 MiB te laten zijn). Veel geheugenbeheerders hebben te maken met deze paginagrootte. Ook zijn er structuren die voor de processor belangrijk zijn, die alleen aan het begin van zo'n pagina geldig zijn.
Segmentation
[bewerken]Het beschikbare werkgeheugen kan worden opgedeeld in een aantal segmenten. Elk segment omvat een bereik van pagina's en kan een aantal eigenschappen krijgen. Dit principe heet segmentation. Het is eigenlijk een vrij beperkte manier om het geheugen te beheren, en daarom wordt het niet vaak meer toegepast.
Paging
[bewerken]Een flexibeler manier om met het geheugen om te gaan is via paging. Hierbij krijgt elke geheugenpagina eigenschappen, zoals toegankelijkheid voor programma's, in plaats van een heel bereik aan pagina's zoals bij segmentation. Het principe van paging wordt dan ook door alle grote besturingssystemen toegepast.