2.5 Linux中的分页机制  

如前所述,Linux主要采用分页机制来实现虚拟存储器管理。这是因为:

·      Linux的分段机制使得所有的进程都使用相同的段寄存器值,这就使得内存管理变得简单,也就是说,所有的进程都使用同样的线性地址空间(04G)。

·      Linux设计目标之一就是能够把自己移植到绝大多数流行的处理器平台。但是,许多RISC处理器支持的段功能非常有限。

为了保持可移植性,Linux采用三级分页模式而不是两级,这是因为许多处理器(如康柏的AlphaSunUltraSPARCIntelItanium)都采用64位结构的处理器,在这种情况下,两级分页就不适合了,必须采用三级分页。图2.28为三级分页模式,为此,Linux定义了三种类型的页表:

·   总目录PGDPage Global Directory

·   中间目录PMDPage Middle Derectory

·   页表PTPage Table


             2.28 Liunx的三级分页

尽管Linux采用的是三级分页模式,但我们的讨论还是以Intel奔腾处理器的两级分页模式为主,因此,Linux忽略中间目录层,以后,我们把总目录就叫页目录