processes writing to virtual memory
I'm currently reading a book on .Net 4.0 with C# and I read a statement I do not fully understand...
It states: "In general, any process is able to access memory only by specifying an address in Virtual Memory - processes do not have direct access to physical memory. Hence, it is simply impossible for one process to access the memory allocated to another process"
how do we form this d开发者_如何学Goistinction.. that because I specify my addresses to virtual memory and not to physical memory that I cannot access the memory of another process? or does it lie in what they mean my access?
What it means is the addresses given to you are all virtual (also known as logical)... they do not directly indicate which physical memory you will access. Instead, there's a map (in the hardware, controlled by the system) to translate between your virtual addresses and the actual physical memory used.
Put another way, your process might have address 0x1000, and my process might also have this same address. Since our addresses are both virtual it's not possible for you to access mine (and at the physical layer, they will be at different places in hardware).
精彩评论