1.Linux 段表
In uniprocessor systems there is only one GDT, while in multiprocessor systems there is one GDT for every CPU in the system.
2.Linux页表
each process has its own Page Global Directory and its own set of Page Tables. When a process switch occurs Linux saves the cr3 control register in the descriptor of the process previously in execution and then loads cr3 with the value stored in the descriptor of the process to be executed next. Thus, when the new process resumes its execution on the CPU, the paging unit refers to the correct set of Page Tables.
The Copy On Write technique allows both the parent and the child to read the same physical
pages. Whenever either one tries to write on a physical page, the kernel copies its contents
into a new physical page that is assigned to the writing process. The implementation of this
technique in Linux is fully explained in
linux系统下每个进程都拥有自己的页表,父进程fork出新的子进程时,子进程拷贝一份父进程的页表,且父子进程将页表状态修改为写保护。当父子进程中的进程发生写操作时将会发生缺页异常,缺页异常处理函数将会为父子进程各自分配新的物理地址。所以不同的进程访问同样的逻辑地址而对应的物理地址不同,是由于各自页表的不同。