左万历全套配套课件计算机操作系统教程第3版 06第六章 存储管理11.ppt

左万历全套配套课件计算机操作系统教程第3版 06第六章 存储管理11.ppt

ID:51630498

大小:490.00 KB

页数:61页

时间:2020-03-26

左万历全套配套课件计算机操作系统教程第3版 06第六章 存储管理11.ppt_第1页
左万历全套配套课件计算机操作系统教程第3版 06第六章 存储管理11.ppt_第2页
左万历全套配套课件计算机操作系统教程第3版 06第六章 存储管理11.ppt_第3页
左万历全套配套课件计算机操作系统教程第3版 06第六章 存储管理11.ppt_第4页
左万历全套配套课件计算机操作系统教程第3版 06第六章 存储管理11.ppt_第5页
资源描述:

《左万历全套配套课件计算机操作系统教程第3版 06第六章 存储管理11.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第六章存储管理存储管理功能内存资源管理存储管理方式外存空间管理虚拟存储系统6.1存储管理功能存储分配和去配分配去配对象内存、外存(相同方法)分配去配时刻进程创建、撤销、交换、长度变化(栈溢出,execl)存储共享目的:节省内存、相互通讯内容:代码、数据存储保护防止地址越界防止操作越权6.1存储管理功能(Cont.)存储扩充内存、外存结合,虚拟存储体系速度接近内存,容量相当外存地址映射逻辑地址=>物理地址硬件支持基址寄存器(base)、限长寄存器(limit)、快表;使用上述寄存器完成地址映射过程;不能正常完成地址映射时产生中断。6.2内存资源管理6.2.1内存分区分区时刻静态分

2、区:系统初始化时分;动态分区:申请时分。分区大小等长分区:2i异长分区:依程序、程序单位、对象大小。通常作法静态+等长(页式、段页式)动态+异长(段式、界地址)6.2.2内存分配静态等长分区的分配字位映象图空闲页面表空闲页面链动态异长分区的分配最先适应(FirstFit)最佳适应(BestFit)最坏适应(WorstFit)位示图(bitmap)100…1...10第0页第2页第1页第k页第n页......分配:自头寻找第一个为0的位,改为1,返回页号;去配:页号对应的位(bit)置为0。用一个bit代表一页状态,0表空闲,1表占用。(多单元)空闲页面表首页号空页数......

3、......1204特点:可以分配连续页面。DMA要求占用占用120页121页122页123页......空闲页面链占用占用占用Head:优点:节省空间。(不适合管理外存)动态异长分区的分配空闲区首址空闲区长度............25001500数据结构:Criteria:尽量使空闲区域连续。初始时一个连续空闲区。长度=0为表尾。最先适应算法(FirstFit)空闲区首址空闲区长度128641024256322560......空闲区:首址递增排列;申请:取第一个可满足区域;优点:尽量使用低地址空间,高区保持大空闲区域。缺点:可能分割大空闲区。Eg.申请32将分割第一个区域

4、。最佳适应算法(BestFit)空闲区:首址递增排列;申请:取最小可满足区域;优点:尽量使用小空闲区,保持大空闲区。缺点:可能形成碎片(fragment)。Eg.申请30将留下长度为2的空闲区。空闲区首址空闲区长度128641024256322560......最坏适应算法(WorstFit)空闲区:首址递增排列;申请:取最大可满足区域;优点:防止形成碎片。缺点:分割大空闲区域。空闲区首址空闲区长度128641024256322560......UNIX存储分配--FFstructmap{char*m_size;char*m_addr;};structmapcoremap[CM

5、APSIZ];structmapswapmap[SMAPSIZ];defineCMAPSIZ100defineSMAPSIZ100malloc(mp,size)structmap,*mp;{registerinta;registerstructmap*bp;for(bp=mp;bp->m_size;bp++){if(bp->m_size>=size){a=bp->m_addr;bp->m_addr=+size;if((bp->m_size=-size)==0)do{bp++;(bp-1)->m_addr=bp->m_addr;}while((bp-1)->m_size=bp->

6、m_size);return(a);}}return(0);}mfree(mp,size,aa)structmap*map;{registerstructmapbp;registerintt,a;a=aa;for(bp=mp;bp->m_addr<=a&&bp->m_size!=0;bp++);if(bp>mp&&(bp-1)->m_addr+(bp-1)->m_size==a){//与前合并(bp-1)->m_size=+size;if(a+size==bp->m_addr){//前后合并(bp-1)->m_size=+bp->m_size;while(bp->m_size)

7、{bp++;(bp-1)->m_addr=bp->m_addr;(bp-1)->m_size=bp->m_size;}}}else{if(a+size==bp->m_addr&&bp->m_size){//与后合并bp->m_addr=-size;bp->m_size=+size;}elseif(size)do{//无合并t=bp->m_addr;bp->m_addr=a;a=t;//a与bp->m_addr交换t=bp->m_size;bp->m_size=size;bp++;//size

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

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

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