kenli79
驱动小牛
驱动小牛
  • 注册日期2002-06-12
  • 最后登录2003-07-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1134回复:2

Win2000 的内存管理的几个问题,指教或讨论

楼主#
更多 发布于:2003-03-04 13:03
这一段时间在看Inside Windows 2000的内存管理一章,有些问题没搞明白,就有参考看了Undocument WinNT和Intel 的相关文档。但是还是有些问题没搞明白。如下:
1,Win2k什么时候创建PFN数据库,放在内存的什么地方?PFN使用的内存如何分配?
2,Win2k什么时候创建系统页表?
3,Intel cpu是否先根据分页机制,硬件转换地址,然后通过地址寻找数据,这个使用到什么寄存器?

谢谢!
超级菜鸟!!!!!!!!!
kenli79
驱动小牛
驱动小牛
  • 注册日期2002-06-12
  • 最后登录2003-07-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-03-07 10:40
PFN数据库肯定在启动的时候创建,但是在什么阶段,是由ntldr,还是ntoskrnl的内存管理器创建,估计是由ntoskrnl在phase0阶段创建。ntldr虽然转到了保护模式,但是好像只创建了1m以下的页表。但是他们之间如何切换的呢?
PageDirectory表中肯定有一条指向页表的内存空间的。也就是说,有一个页表是指向所有页表的内存空间的。估计PFN中也有几条是指向PFD使用的物理内存的。
但是进程是如何控制<4k的内存呢?

找不到资料啊,那位老大提供点信息。lu0斑竹呢,能不能帮我弄明白这个问题。
超级菜鸟!!!!!!!!!
kenli79
驱动小牛
驱动小牛
  • 注册日期2002-06-12
  • 最后登录2003-07-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-03-10 09:13
前天调试了一下,PFD好像映射在8xxxxxxx的地址下,是连续的。
小内存的管理是使用heap,heap中的内存如何管理呢?
超级菜鸟!!!!!!!!!
游客

返回顶部