zhangleierli
驱动小牛
驱动小牛
  • 注册日期2007-01-31
  • 最后登录2017-05-24
  • 粉丝1
  • 关注0
  • 积分3分
  • 威望158点
  • 贡献值0点
  • 好评度146点
  • 原创分0分
  • 专家分0分
  • 社区居民
阅读:9893回复:9

CR3寄存器里存的是物理地址还是虚拟地址?

楼主#
更多 发布于:2008-01-04 18:28
刚刚看了undocument NT 里面描述的不清楚。
我的理解是CR3 存放的是页目录的物理地址。系统发生进程切换时,会把相应的页目录的物理地址存入CR3寄存器 ??,并把4K的页目录内容映射到0xC0300000 ??4K的页目录里存放的是页表的物理地址?然后再根据这些物理地址取出相应的4K大的页表,依次映射到0xC0000000---0xC03FFFFF ??
这些都是我的理解,正确吗?
zhangleierli
驱动小牛
驱动小牛
  • 注册日期2007-01-31
  • 最后登录2017-05-24
  • 粉丝1
  • 关注0
  • 积分3分
  • 威望158点
  • 贡献值0点
  • 好评度146点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2008-01-10 23:02
引用第1楼boly81于2008-01-10 19:02发表的  :
页目录和页表可能不会映射成逻辑地址吧
正确答案要看cpu的spec,到intel,amd的网站上下载吧


cpu的spec是什么?  
windows开启了分页机制后,访问的所有的地址都是虚拟地址,所以要把页目录和页表也映射到虚拟地址空间。忘了是看那本书上说的了。
游客

返回顶部