windows内存管理中内存碎片的问题

C语言 码拜 10年前 (2015-05-11) 1821次浏览 0个评论
 

windows内存管理中内存碎片的问题

windows内存不是建立在分页机制上的吗,

如果假设A有7KB   B有5KB  C有11KB,

那么应该是实际分配了8KB(1区),8KB(2区),12KB(3区)的内存对应图中1,2,3

现在B没了,分给B的8KB回收(2区),现在比如进程需要9KB的空间,那么2区还是能贡献2个页啊,怎么就空洞不能用了

(我知道有个65535的分配粒度,但是道理上还是一样的啊)

难道这个只是为了使用非分页内存的情况?
40分
这里的内存分配你要从虚拟内存地址去考虑。资料中是要求分配连续内存地址,中间不能有被其他已经使用的地址隔开的。
所以才要内存对齐
连续内存…那本书是windows驱动开发技术详解

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明windows内存管理中内存碎片的问题
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!