读书人

请教win32下,系统是怎样管理内存的

发布时间: 2012-03-14 12:01:13 作者: rapoo

请问win32下,系统是怎样管理内存的?
我们在写程序时,怎样考虑内存的问题,关于内存这一块,
1.系统内存是怎样划分的
2.怎样申请,申请什么
请高手给详细讲讲,最好能讲的系统一些,理论一些...谢谢!

[解决办法]
windows的内核是不公开的,所以细节是不知道的,我们研究的内核一般都是linux下的。
手边正好有操作系统,稍微翻了下。
内存可以分为逻辑地址空间和物理地址空间,对于程序员可见的全部都是逻辑地址,当你使用一个逻辑地址的时候(加载、存储),重定位寄存器(位于内存管理单元MMU)将其转换为物理地址。物理地址对于程序员是不可见的。
从内存管理的角度讲,可以分为分页管理和分段管理或者两者结合,这里不展开了。

申请内存空间的方法由所使用语言决定,在C下一般都用malloc,在C++下一般都用new。。具体的参见MSDN。

读书人网 >C语言

热点推荐