paging由x86 cpu控制寄存器中的三个bit控制:
CR0 bit31:PG位,控制是否启用paging
CR4 bit4:PSE位,页大小扩展,允许4M大小的页面
CR4 bit5:PAE位,物理地址扩展
先看32位的paging处理,就是PSE=PAE=0,而PG=1时的情况。
一个线性地址被分为3部分,第一部分是页目录表项索引,高10位(bit31-bit22),第二部分是页表表项索引,中间10位(bit21-bit12),最后部分是页内偏移地址,低12位(bit11-bit0)。由此,一个页目录表最多有2^10 = 1024项,一个页表最多有2^10=1024项,一个页大小为2^12=4096字节。每个页目录表项和每个页表项大小都是4字节,因此每个页目录表和每个页表的大小正好是4*1024=4096字节,也就是正好占一页。
每个页目录项和每个页表项的结构类似,首先是一个页表或一个页的物理地址,页表和页大小都是2^12=4096字节,因此其物理地址都是4096字节对齐,因此物理地址的低12位全部为0,所以这低12位可以用来作为属性位。
主要的属性位有如下几个:
P:物理内存中存在标志位
D:dirty,已经被写过
A:accessed,已经被读或写过
PCD:page cache disabled,缓存禁止
WT:缓存write through
U/S:user/supervisor,0表示管理员态,1表示用户态
R/W:只读,还是可读写
分享到:
相关推荐
Version : 5.7 Vendor : Fedora Project Release : 2.20090207.fc11 Date : 2009-02-26 09:37:30 Group : Development/Libraries Source RPM : ncurses-5.7-2.20090207.fc11.src.rpm Size : 1.71 MB Packager :...
Root project 'Almost-Famous' +--- Project ':famous-cloud' +--- Project ':famous-config' \--- Project ':famous-unique' +--- Project ':famous-common' +--- Project ':famous-login' +--- Project ':famous-...
Java-EE-Project1:Java EE
Daniels-Project:https://khadijaserag.github.ioDaniels-Project
hive 开发UDF 使用maven工程 引发jar包缺失 hive 开发UDF 使用maven工程 引发jar包缺失
RSE-Project5:Udacity Robotics软件工程师Nanodegree-项目5-家庭服务机器人
MEng-Y3-Group-Project-:医学教育的人眼3D动力学模型
ncpi-project-forge::light_bulb::notebook:Project Forge的材料和计划
2006-03-11 15:26 122,880 关键路径分析.mpp 2005-10-06 00:21 339,456 固定资产信息系统项目.mpp 2005-11-17 16:56 622,592 固定资产信息系统项目.多比较基准.mpp 2005-11-17 16:56 637,440 固定资产信息系统项目....
TodoList-Project-:PHP-OPP-Todolist项目
iat339-project2:iat339-project2-蔡妍公园和王Ceyao团队
HTML-CSS-Project1:HTML&CCS firt项目
JAVA-Project2:JAVA项目
CS-347-Project1:CS 347 Web开发项目1
431-Project1:RIT CSCI 431
composer create-project drupal-composer/drupal-project:9.x-dev some-dir --no-interaction 使用composer require ...您可以将新的依赖项下载到您的安装中。 cd some-dir composer require drupal/devel ...
joshford-project0:Joshua Ford的Project 0存储库
cs32-project4:代码编辑器
Caleb-Project1:最好的商店应用
webpro-project2:Web编程项目2