您好,欢迎访问三七文档
内存分配-主题3主讲人:梁庆隆组员:李雅兰龚智锋李煜辉伙伴算法slab工作原理引入引入分页管理slab分配器为什么用户空间采用分页管理,而内核对象却采用slab分配器?用户空间和内核对象的比较用户空间内核对象所占空间大小较大较小使用频率频率较小经常分配和释放伙伴算法1.寻找大小合适的内存块(大于等于所需大小并且最接近的2的幂,比如需要27,实际分配32)2.如果找到了,分配给应用程序。3.如果没找到,分出合适的内存块。1.对半分离出高于所需大小的空闲内存块2.如果分到最低限度,分配这个大小。3.回溯到步骤1(寻找合适大小的块)4.重复该步骤直到一个合适的块伙伴算法—分配内存伙伴算法—释放内存1.释放当前内存块2.寻找相邻的块,看其是否释放了3.如果相邻块也释放了,合并这两个块4.重复上述步骤直到遇上未释放的相邻块,或者所有内存都释放了。伙伴算法—图解slab工作原理slab工作原理更多精彩:Thinks
本文标题:操作系统―内存管理
链接地址:https://www.777doc.com/doc-3356706 .html