Virtual memory managers - How do they work?
Posted: Thu Jun 02, 2011 5:50 pm
Please excuse my ignorance.
Suppose you run an i386 in protected mode with a virtual memory manager kernel such as Linux.
Suppose further that the unlikely condition that the ram is massively fragmented to the point of having 4K block used, 4K block free, 4K block used...etc
If a programs allocates 8K of memory and writes to all of it, how does the CPU know to skip over the used block? I did not think the CPU had a concept of nonlinear memory and I did not know there was a mechanism to intercept memory access other then page faults. How are virtual memory managers implemented?
Suppose you run an i386 in protected mode with a virtual memory manager kernel such as Linux.
Suppose further that the unlikely condition that the ram is massively fragmented to the point of having 4K block used, 4K block free, 4K block used...etc
If a programs allocates 8K of memory and writes to all of it, how does the CPU know to skip over the used block? I did not think the CPU had a concept of nonlinear memory and I did not know there was a mechanism to intercept memory access other then page faults. How are virtual memory managers implemented?