Posts

Posts uit maart, 2012 tonen

Wat is virtueel geheugen

Alle programma's die worden opgestart, moeten in het geheugen worden geladen. Op de eerste plek probeert het OS het programma te laden in het RAM geheugen. Als er een programma wordt gestart en het RAM geheugen is vol, dan gaat het OS gebruik maken van virtueel geheugen. Dit houdt in dat het OS het RAM geheugen gaat combineren met virtueel geheugen. Het virtuele geheugen wordt opgeslagen op de harde schijf in een pagefile (pagefile.sys). Bij virtueel geheugen verplaatst het OS de data van het RAM geheugen naar het virtuele geheugen. Op deze manier komt er weer geheugen vrij in het RAM. Het lezen en schrijven van en naar het RAM geheugen is aanzienlijk sneller dan lezen en schrijven naar een pagefile (het virtuele geheugen). De grootte van de pagefile wordt automatisch geregeld door Windows. Standaard is dit 1,5 keer zo groot als het aanwezige RAM geheugen. Hoewel deze grootte door Windows is bepaald, kan dit ook handmatig worden ingesteld. bronnen: http://windows.microsoft.co

De Garbage Collector (GC) in .NET

De Garbage Collector (GC) zorgt voor het toewijzen en vrijgeven van geheugen voor de applicatie. Elke keer als er een object wordt aangemaakt dan wijst de common language runtime (CLR) geheugen van de managed heap toe aan dit object. Een heap is een verzameling van aaneengesloten stukken geheugen. Dit geheugen wordt tijdens het starten van het proces (applicatie) gereserveerd door de runtime en is bij aanvang helemaal leeg. De grootte van de heap is afhanklijk van een aantal factoren: de .NET Framework versie, is het een 32 of 64 bits systeem en in welke mode wordt de GC uitgevoerd, server of werkstation. De managed heap houdt een pointer bij waar het volgende object opgeslagen moet worden. Een heap kan meerdere segments hebben. Als een segement vol is, wordt er binnen dezelfde heap een nieuw segment aangemaakt. Garbage collector roots Een object wordt pas opgeruimd door de GC als deze niet meer direct te benaderen is vanaf de GC root. De GC kent vier verschillende roots: Lokale va