文献:http://www.verydemo.com/demo_c167_i219134.html
Linux采用了一种同时适用于32bit和64bit系统的分页模型。32bit系统一般采用两级页表就足够了,但64bit系统需要更多的分页。Linux 2.6.10版本采用三级分页,从2.6.11版本开始采用了四级分页。
图中展示的4 种页表分别被称作:
• 页全局目录(Page Global Directory)
• 页上级目录(Page Upper Directory)
• 页中间目录(Page Middle Directory)
• 页表(Page Table)
页全局目录包含若干页上级目录的地址,页上级目录又依次包含若干页中间目录的地址,而页中间目录又包含若干页表的地址。每一个页表项指向一个页面。线性地址因此被分成五个部分。图中没有显示位数,因为每一部分的大小与具体的计算机体系结构有关。
编号 | 处理器 | 页大小 | 寻址使用的位数 | 分页级别 | 虚拟地址分级 |
1 | x86 | 4KB | 32 | 2 | 10+10+12 |
2 | x86(extended) | 4MB | 32 | 1 | 10&………………………………………………………………………… |