Ik heb altijd een vrij simpele voorstelling gehad van virtual memory. Virtual memory is ruimte op de harde schijf die behandeld wordt als ram geheugen. De data wordt wanneer nodig in het ram gepaged. Zo kan je dus 512 MB ram hebben en 1,5 GB virtual memory.
So far so good. Nu ben ik me er iets dieper in aan het verdiepen. Ik lees nu dat Win2k altijd 4 GB virtual memory reserveert. 2 GB voor kernel threads en 2 GB voor user mode threads. Ik citeer uit de MSCA boek: "The upper 2 GB is reserved for the system or for kernel-mode threads only. The lower portion of this upper 2 GB area is mapped directely by the hardware. Access to this lower portion is extremely fast."
Nu waar ik een beetje mee zit is het volgende. Het virtual memory is geheugen op de trage harde schijf. Hoe kan dit dan rechtstreeks via de hardware worden aangesproken en extreem snel zijn?
So far so good. Nu ben ik me er iets dieper in aan het verdiepen. Ik lees nu dat Win2k altijd 4 GB virtual memory reserveert. 2 GB voor kernel threads en 2 GB voor user mode threads. Ik citeer uit de MSCA boek: "The upper 2 GB is reserved for the system or for kernel-mode threads only. The lower portion of this upper 2 GB area is mapped directely by the hardware. Access to this lower portion is extremely fast."
Nu waar ik een beetje mee zit is het volgende. Het virtual memory is geheugen op de trage harde schijf. Hoe kan dit dan rechtstreeks via de hardware worden aangesproken en extreem snel zijn?
Life is simple, make choices, don't look back...