阅读:1134回复:2
Win2000 的内存管理的几个问题,指教或讨论
这一段时间在看Inside Windows 2000的内存管理一章,有些问题没搞明白,就有参考看了Undocument WinNT和Intel 的相关文档。但是还是有些问题没搞明白。如下:
1,Win2k什么时候创建PFN数据库,放在内存的什么地方?PFN使用的内存如何分配? 2,Win2k什么时候创建系统页表? 3,Intel cpu是否先根据分页机制,硬件转换地址,然后通过地址寻找数据,这个使用到什么寄存器? 谢谢! |
|
|
沙发#
发布于:2003-03-07 10:40
PFN数据库肯定在启动的时候创建,但是在什么阶段,是由ntldr,还是ntoskrnl的内存管理器创建,估计是由ntoskrnl在phase0阶段创建。ntldr虽然转到了保护模式,但是好像只创建了1m以下的页表。但是他们之间如何切换的呢?
PageDirectory表中肯定有一条指向页表的内存空间的。也就是说,有一个页表是指向所有页表的内存空间的。估计PFN中也有几条是指向PFD使用的物理内存的。 但是进程是如何控制<4k的内存呢? 找不到资料啊,那位老大提供点信息。lu0斑竹呢,能不能帮我弄明白这个问题。 |
|
|
板凳#
发布于:2003-03-10 09:13
前天调试了一下,PFD好像映射在8xxxxxxx的地址下,是连续的。
小内存的管理是使用heap,heap中的内存如何管理呢? |
|
|