Windows分页管理机制的学习(一)理论部分

PAE模式

什么是PAE模式:PAE,物理地址扩展,是基于x86 的服务器的一种功能,它使运行 Windows Server 2003, Enterprise Edition 和 Windows Server 2003Datacenter Edition 的计算机可以支持4GB 以上物理内存。物理地址扩展 (PAE) 允许将最多64GB 的物理内存用作常规的4 KB 页面,并扩展内核能使用的位数以将物理内存地址从32扩展到36

 

如何开启关闭PAEWin7 开启: cmd中输入: bcdedit /set pae forceenable

Win7 关闭:bcdedit /set pae forcedisable

XP 开启:C:\boot.ini 加上 /noexecute=optin /fastdetect /PAE

XP 关闭:C:\boot.ini 将 /noexecute=optin /fastdetect /PAE 改为 /execute /NOPAE

 

寄存器:与分页管理机制有关的寄存器有CR0CR3CR4寄存器,通过INTEL手册的阅读可以发现

 

CR0 的第16位控制WP:

对于Intel 80486或以上的CPUCR0的位16是写保护(Write Proctect)标志。当设置该标志时,处理器会禁止超级用户程序(例如特权级0的程序)向用户级只读页面执行写操作;当该位复位时则反之。该标志有利于UNIX类操作系统在创建进程时实现写时复制(Copy on Write)技术。

 

CR0的第31位控制PG

CR0的位31是分页(Paging)标志。当设置该位时即开启了分页机制;当复位时则禁止分页机制,此时所有线性地址等同于物理地址。在开启这个标志之前必须已经或者同时开启PE标志。即若要启用分页机制,那么PEPG标志都要置位。

 

CR4 的第5位控制着PAE模式。

 

CR3用来存放最高级页目录地址(物理地址),各级页表项中存放的也是物理地址。

 

需要用到的术语:

分段机制:主要实现虚拟地址到线性地址的转换。

 

分页机制:主要实现线性地址到物理地址的转换。页的大小4K,每页都是边界都是4K的整数倍。

页码:因为分页起始地址是模4K,所以分页的开始地址都是 “XXXXX000H”的形式XXXXX就是页码.

80386把页映射表分为两级

第一级页表:页目录表(Page Directory Table),缩写:PDT大小:4K ,每项4字节,包含二级页表所在物理地址空间页的页码.存在:物理内存中(不能是虚拟机内存,如果是虚拟内存中,那么就递归查找了,不符合逻辑,所以存在于物理地址中)

第二级页表:页表(Page Table Table),缩写:PTT,大小:4K ,每项4字节,包含对应物理空间页的页码.

每个进程都有一个单独的页目录,微软将它存放在EPROCESS==>KPROCESS==>DirectoryTableBase[2]

(未开启PAE与线性地址的对应关系:

 

 




 

(开启PAE与线性地址的对应关系:

 



 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值