以32位地址为例,Linux三级页表的前10位代表页目录,一共1024项(也就是1024个页表地址),每一项占4B,一共占据4KB。中间10位,代表页表项,也是1024项,每一项也是占据4B(即32位),每一项代表一个物理页的地址(刚好物理地址也是32位的)。因此每一个进程都会有自己的虚拟地址空间,除了共享内存区和共享内核空间之外,其他虚拟地址基本不会映射到相同的物理地址。因为每一个进程的虚拟地址的中间10位代表了实际的物理地址,如果物理地址A分配给了进程1,则不会再分给进程2(这里暂不考虑页面换进换出的情况)。