Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why does every process need its own page table?

I was reading about memory management techniques and was wondering:

Why does every process need its own page table?

thanks.

like image 754
rrazd Avatar asked Nov 12 '11 13:11

rrazd


People also ask

Does every process has its own page table?

Yes every process has its own pagetables. They might be shared with the parent process(copy on write) or with other processes(shared memory).

Why is there a page table per process and not a single page table for the entire system?

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.

Does each process have its own memory?

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.

Does every process have its own address space?

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.


1 Answers

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.)

like image 176
Hot Licks Avatar answered Oct 11 '22 10:10

Hot Licks