内存分配策略.doc

内存分配策略.doc

ID:57725241

大小:14.00 KB

页数:1页

时间:2020-09-02

内存分配策略.doc_第1页
资源描述:

《内存分配策略.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1.分大块:a)第一块,分配的最小单位为8字节,每次分配一定是8字节的倍数(下同)b)第二块,分配的最小单位为80字节,用于分配大小为80整数倍、或大于8000字节的内存;不是80整数倍的内存、且小于8000大小的内存将在第一块中分配c)第三块,分配的最小单位为800,用于分配大小为800整数倍、或大于80000的内存;不是800整数倍、且小于80000大小的内存将在第二块中分配d)下同……2.每块的分配方法:a)每块内存都有一定字节的信息部分,这部分放在分配的内存的开始部分,返回给用户的指针不包括这部分b)信息结构体:前一块长度(4字节,最小长度的整数倍),当前块长度

2、(4字节,最小长度的整数倍),是否在使用(1字节),上次地址(4字节),上次查找是否有其它内存(1字节)c)分配方法是下次适配法,但是如果在找到适合的内存之前有其它未使用内存,则下一次从头开始查找,否则从当前位置开始d)每次分配之后,需要填写相邻的下一块内存的头信息部分中的前一块长度部分e)每次释放后,要查看前后相邻的内存块是否能合并,能合并则合并,一直要处理到前后都无法合并为止3.大块的生成方法:a)同类大块的结构体:块的最小分配单位(单位字节,长度4字节),块大小(最小分配单元的数量,4字节),有效块数量(4字节),最大块数量(数组的长度,4字节),各个块起始地址(

3、用数组存放)b)单个大块结构:上次查找到的最大内存空间(4字节),上次查找到的内存地址(4字节)i.单个大块结构数据并没有独立于内存块,而是作为连续内存块的信息头存在c)当块使用数量为0时释放整个块,将最后一个有效块的地址放到块超始地址数组的当前位置上,并将最后一个置NULLd)当块起始地址数组不够用时,申请更大的数组,复制原数组里的值,然后释放原数组e)不同类大块用MAP存储,以最小分配单元为键,以大块的信息结构体地址为值f)分配最小单位相同的块为同一类,同一类块的大小都是相同的g)类初始化时,并没有生成各类大块,仅当用户申请时才会根据用户的申请的数量生成

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。