paging and process mapping
Posted: Sun Jun 27, 2010 3:54 am
Hi guys, I've searched everywhere and read the intel ASD manual vol 3A before posting, but didn't find answers to this question (assuming 32bit paging with no PAE):
Assuming 32bit paging is enabled, how can I isolate a process from the other ones?
Should I create a page directory for every process I run?
A linear address points simultaneously to the PDE, PTE and offset, so if I load "prog1.bin" to virtual address 0x00004000, and then want to load "prog2.bin" and map it to the same virtual address, EIP (let's say they're both plain binary files) will point for both to 0x00004000! This means that when the processor wants to find the physical address, it loads PDE 0, PTE 1, and offset 0 for both, and will point to the same physical location.. What am I missing?
Assuming 32bit paging is enabled, how can I isolate a process from the other ones?
Should I create a page directory for every process I run?
A linear address points simultaneously to the PDE, PTE and offset, so if I load "prog1.bin" to virtual address 0x00004000, and then want to load "prog2.bin" and map it to the same virtual address, EIP (let's say they're both plain binary files) will point for both to 0x00004000! This means that when the processor wants to find the physical address, it loads PDE 0, PTE 1, and offset 0 for both, and will point to the same physical location.. What am I missing?