Chinaunix首页 | 论坛 | 博客
  • 博客访问: 19733701
  • 博文数量: 679
  • 博客积分: 10495
  • 博客等级: 上将
  • 技术积分: 9308
  • 用 户 组: 普通用户
  • 注册时间: 2006-07-18 10:51
文章分类

全部博文(679)

文章存档

2012年(5)

2011年(38)

2010年(86)

2009年(145)

2008年(170)

2007年(165)

2006年(89)

分类: LINUX

2008-10-17 14:21:02

§2.5  Linux中的分页

Linux 采用了一种同时适用于32 位和64 位系统的普通分页模型。正像前面“64 位系统中的分页”一节所解释的那样,两级页表对32 位系统来说已经足够了,但64 位系统需要更多数量的分页级别。直到2.6.10 版本,Linux 采用三级分页的模型。从2.6.11 版本开始,采用了四级分页模型(注5)。图2-12 中展示的4 种页表分别被为:

页全局目录(Page Global Directory

页上级目录(Page Upper Directory

页中间目录(Page Middle Directory

页表(Page Table

页全局目录包含若干页上级目录的地址,页上级目录又依次包含若干页中间目录的地址,

而页中间目录又包含若干页表的地址。每一个页表项指向一个页框。线性地址因此被分

成五个部分。图2-12没有显示位数,因为每一部分的大小与具体的计算机体系结构有关。

对于没有启用物理地址扩展的32 位系统,两级页表已经足够了。Linux 通过使“页上级

目录”位和“页中间目录”位全为0,从根本上取消了页上级目录和页中间目录字段。不

过,页上级目录和页中间目录在指针序列中的位置被保留,以便同样的代码在32位系统

64位系统下都能使用。内核为页上级目录和页中间目录保留了一个位置,这是通过把

它们的页目录项数设置为1,并把这两个目录项映射到页全局目录的一个适当的目录项而

实现的。

以下部分暂略

阅读(5803) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~