I was reading about memory management techniques and was wondering:
Why does every process need its own page table?
thanks.
Yes every process has its own pagetables. They might be shared with the parent process(copy on write) or with other processes(shared memory).
The reason to have multiple page tables is that each process has its own virtual address space, as said by @marski. A page N of a process P1 is probably not mapped to the same frame in physical memory than a page N of a process P2.
A Computer ProcessEach process has a separate memory address space, which means that a process runs independently and is isolated from other processes. It cannot directly access shared data in other processes.
Each process has its own address space which is separate to every other process. The OS separates processes into their own address space and translates virtual addresses into physical memory addresses with the assistance of the CPU.
Why does every process need its own page table?
It doesn't. But every address space needs its own page table, and in most operating systems each process has its own address space.
(The OS for IBM iSeries has only a single page table, since it uses a "single address space" model.)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With