Reading all these article in Wikipedia and different blogs about memory management technologies put me to shame. I literally didn't know anything about it and would probably never find it out if I stayed pure networking guy. Since I want to go a bit deeper into vSphere memory management (Memory Virtiualizaion, Virtual MMU, TSP) in the my next articles, today I need to build a foundation on top of which I can put additional layers later. I will try to explain new stuff in the same way I would like it to be explained to me one week ago.
I need to start with explanations of some definitions and basic principles of memory management.
Mostly all modern applications/OS work with virtual memory. None of them has any idea where its actual memory is located. Each process truly believes that it has it own address space.