内存分配算法

上传人:cel****460 文档编号:243751213 上传时间:2024-09-30 格式:PPTX 页数:22 大小:408.66KB
返回 下载 相关 举报
内存分配算法_第1页
第1页 / 共22页
内存分配算法_第2页
第2页 / 共22页
内存分配算法_第3页
第3页 / 共22页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,*,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,内存分配算法,主要内容,内存分配的方法:,FF,、,BF,、,WF,和,NF,内存管理的一些指令,malloc(),、,realloc(),和,free(),内存保护,最正确适合内存分配算法BF,最先适合内存分配算法,FF,最差适合内存分配算法,WF,循环首次适应分配算法,NF,最先适合内存分配算法FF,一、空闲分区按照地址递增的次序链接,二、从链头开场查找,选择第一个满足要求的空闲区,优点:尽可能的利用存储器的低地址局部,缺点:搜索次数增加,影响工作效率,一、空闲分区按从小到大进展排序,二、自表头开场查找到第一个满足要求的自由分区分配,优点:使碎片尽量小,保存大的空闲区,缺点:造成许多难利用的小空闲区,分配后必须重新排序,最正确适合分配算法BF,最差适合分配算法WF,一、空闲分区按从大到小进展排序,二、自表头开场查找到第一个满足要求的自由分区分配,优点:尽量减少小的碎片产生,缺点:缺乏大的空闲分区,分配完需要重新排序,循环首次分配算法,一、空闲分区按地址递增的次序链接,二、从上次找到空闲区的下一个空闲开场查找,选择第一个满足要求的空闲区,优点:使内存中的空闲区分布得较均匀,缺点:缺乏大的空闲分区,以,FF,算法为例,输入,1,,设置内存的大小,输入,3,,建立一个新进程并设置内存大小,重复上一步骤,建立第二个进程,大小一样,输入,5,,显示内存使用情况,输入4,选择完毕第二个进程,输入,5,,再次查看内存使用情况,指令,malloc(),内存分配函数,void *malloc(int size);,malloc 向系统申请分配指定size个字节的内存空间,返回类型是 void* 类型。void* 表示未确定类型的指针,返回后强行转换为实际类型的指针,int* p;,p = (int *) malloc (sizeof(int);,如果写成p = malloc (sizeof(int); 那么程序无法通过编译,函数的实参为 sizeof(int) ,用于指明一个整型数据需要的大小,指令,free(),内存释放函数,void free(指针变量),free可以释放任意类型的指针,举例:int* p = (int *) malloc(4);,*p = 100;,free(p); /释放 p 所指的内存空间,new/delete、new/delete、malloc/free 三对均需配套使用,不可混用!,指令,realloc(),内存重新分配函数,void *realloc(void *mem_address, unsigned int newsize);,改变mem_address所指内存区域的大小为newsize长度,如果重新分配成功那么返回指向被分配内存的指针,否那么返回空指针NULL,当内存不再使用时,应使用free()函数将内存块释放,如果原先的内存大小后面还有足够的空闲空间用来分配,加上原来的空间大小 newsize,如果原先的内存大小后面没有足够的空闲空间用来分配,那么从堆中另外找一块newsize大小的内存。 并把原来大小内存空间中的内容复制到newsize中。返回新的mem_address指针,内存保护,内存保护可通过硬件提供的MMU来实现,MMU具有以下功能:,1、内存映射逻辑地址物理地址,2、防止地址越界:通过检查逻辑地址,确保应用程序只能访问地址空间所对应的、限定的物理地址空间,3、防止操作越界:如果对内存页面的访问违背了内存页面的特权信息,MMU产生异常,应用,1,应用,2,应用,3,操作系统,简单的,MMU,保护模式,谢谢观赏,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 压缩资料 > 药学课件


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!