




已阅读5页,还剩56页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第六章存储管理,存储管理功能内存资源管理存储管理方式外存空间管理虚拟存储系统,6.1存储管理功能,存储分配和去配分配去配对象内存、外存(相同方法)分配去配时刻进程创建、撤销、交换、长度变化(栈溢出,execl)存储共享目的:节省内存、相互通讯内容:代码、数据存储保护防止地址越界防止操作越权,6.1存储管理功能(Cont.),存储扩充内存、外存结合,虚拟存储体系速度接近内存,容量相当外存地址映射逻辑地址=物理地址硬件支持基址寄存器(base)、限长寄存器(limit)、快表;使用上述寄存器完成地址映射过程;不能正常完成地址映射时产生中断。,6.2内存资源管理,6.2.1内存分区分区时刻静态分区:系统初始化时分;动态分区:申请时分。分区大小等长分区:2i异长分区:依程序、程序单位、对象大小。通常作法静态+等长(页式、段页式)动态+异长(段式、界地址),6.2.2内存分配,静态等长分区的分配字位映象图空闲页面表空闲页面链动态异长分区的分配最先适应(FirstFit)最佳适应(BestFit)最坏适应(WorstFit),位示图(bitmap),第0页,第2页,第1页,第k页,第n页,.,.,分配:自头寻找第一个为0的位,改为1,返回页号;去配:页号对应的位(bit)置为0。,用一个bit代表一页状态,0表空闲,1表占用。(多单元),空闲页面表,特点:可以分配连续页面。DMA要求,占用,占用,120页,121页,122页,123页,.,.,空闲页面链,占用,占用,占用,Head:,优点:节省空间。(不适合管理外存),动态异长分区的分配,数据结构:,Criteria:尽量使空闲区域连续。,初始时一个连续空闲区。长度=0为表尾。,最先适应算法(FirstFit),空闲区:首址递增排列;申请:取第一个可满足区域;优点:尽量使用低地址空间,高区保持大空闲区域。缺点:可能分割大空闲区。Eg.申请32将分割第一个区域。,最佳适应算法(BestFit),空闲区:首址递增排列;申请:取最小可满足区域;优点:尽量使用小空闲区,保持大空闲区。缺点:可能形成碎片(fragment)。Eg.申请30将留下长度为2的空闲区。,最坏适应算法(WorstFit),空闲区:首址递增排列;申请:取最大可满足区域;优点:防止形成碎片。缺点:分割大空闲区域。,UNIX存储分配-FF,structmapchar*m_size;char*m_addr;structmapcoremapCMAPSIZ;structmapswapmapSMAPSIZ;defineCMAPSIZ100defineSMAPSIZ100,malloc(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)dobp+;(bp-1)-m_addr=bp-m_addr;while(bp-1)-m_size=bp-m_size);return(a);return(0);,mfree(mp,size,aa)structmap*map;registerstructmapbp;registerintt,a;a=aa;for(bp=mp;bp-m_addrm_size!=0;bp+);if(bpmp,elseif(a+size=bp-m_addr,6.2.3碎片处理,紧凑:移动占用区域,使所有空闲区域连成一片(开销很大)。,OS,P1(248k),P2(250k),8k,6k,4k,256k:,512k:,768k:,264k:,518k:,256k:,504k:,754k:,18k,6.3存储管理方式,界地址管理方式(一维地址)页式管理方式(一维地址)段式管理方式(二维地址)段页式管理方式(二维地址),6.3.1界地址管理方式,4.3.1.1基本原理1.内存空间划分:动态异长;2.进程空间划分:一个进程一个区域,逻辑地址0l-13.进程空间与内存空间对应关系(可以浮动):,0:,l-1:,.,.,b:,l,b+l-1:,进程空间,内存空间,6.3.1界地址管理方式,4.所需表目:(1)内存分配表-在PCB中;(2)空闲区域表:arrayof(addr,size)。5.所需寄存器:(1)基址寄存器b:保存运行进程起始地址;(2)限长寄存器l:保存运行进程长度。6.地址映射:,6.3.1界地址管理方式,0:,l-1:,.,.,b:,l,b+l-1:,l,b,逻辑地址,CP,+,a,b+a,步骤:(1)由程序确定逻辑地址a;(2)a与l比较判断是否越界,不满足:0al-1,越界;(3)a与b相加得到物理地址。,进程空间,内存空间,6.3.1界地址管理方式,6.3.1.2双对界代码(I空间):一对界数据(D空间):一对界6.3.1.3交换技术(swapping)例:UNIX交换进程sched(#0)交换原则:外存SRUN状态进程内存(1)内存有空间,直接移入;(2)内存空间不够,移出SWAIT,SSTOP状态进程;(3)如果还不够,移出SSLEEP,SRUN状态进程,条件:在外时间3秒;在内时间2秒。,6.3.1界地址管理方式,覆盖技术:将较大程序装入较小进程空间的技术.只将全局代码和数据静态装入内存,其它部分动态装入.后装入的成分重复使用先装入成分所使用的存储区,即覆盖先装入的成分.,覆盖技术,符号表公共例程覆盖驱动程序覆盖区50kb,Pass130kb,Pass250kb,Pass340kb,Pass425kb,6.3.2分页式存储管理(paging),6.3.2.1基本原理1.内存空间划分:静态等长,2i,称为一个页框(frame)。,.,.,第0页,第1页,第k页,第2n-i-1页,2i,02i:,12i:,k2i:,(2n-i-1)2i:,物理地址=页架首址+页内地址=页架号2i+页内地址=,i位,n-i位,6.3.2分页式存储管理,2.进程空间划分:静态等长,2i,称为一个页面。,.,.,第0页,第1页,第k页,第l-1页,2i,02i:,12i:,k2i:,(l-1)2i:,逻辑地址=逻辑页首址+页内地址=逻辑页号2i+页内地址=,i位,3.进程空间与内存空间对应关系,.,第0页,第1页,第2页,第3页,第16页,第22页,第32页,第15页,.,.,.,进程空间,内存空间,4.所需表目:,(1)页表,每个进程一个,物理页号,逻辑页号:,15,22,16,32,0,1,2,3,5.所需寄存器,(2)总页表:系统一个,(1)页表首址寄存器:,b,l,(2)页表长度寄存器:,系统一个,系统一个,(3)快表(TLB):系统一组:,逻辑页号,页架号,.,.,.,.,f,p,逻辑地址(p,d)物理地址(f,d)(1)由程序确定逻辑地址(p,d);(2)由p查快表得页架号f;如查不到:(3)由p与l比较,判别是否越界:不满足:0pl-1,越界;(4)由p和b查页表得f;(5)parbegin(p,f)快表,如满淘汰一个;f与d合并得物理地址parend(3)f与d合并得物理地址,6.地址映射:(p,d)(f,d),.,逻辑页号,页架号,.,.,.,.,f,p,l,b,b,l,.,.,PCB,页架号,逻辑页号,.,f,.,p,.,fd,物理地址,逻辑地址,b:,.,如查不到,.,逻辑页号,页架号,.,.,.,.,f,p,l,b,b,l,.,.,PCB,页架号,逻辑页号,.,f,.,p,.,fd,+,cp,pf,物理地址,逻辑地址,b:,.,有效访问时间,(EffectiveAccessTime)EAT=快表命中率(快表访问时间+内存访问时间)+快表不中率(快表访问时间+2内存访问时间)ns98%(20+100)+2%(20+200)ns=122ns,6.3.2.2多级页表,提出背景内存空间成倍增长,进程虚拟空间成倍增加单级页表需要很大连续内存空间例如32位进程地址空间,页长占12位(4k),页号20位,页表最多可达220个入口!多线程设计导致进程虚拟空间不连续(空洞hole)栈的预留空间(没有页架相对应)页表所占内存空间浪费解决策略二级或多级页表,Two-LevelPage-TableScheme,外页表对应hole的表项没有对应的内页表访问hole表项动态建立内页表,Two-LevelPagingExample,Alogicaladdress(on32-bitmachinewith4Kpagesize)isdividedinto:apagenumberconsistingof20bits.apageoffsetconsistingof12bits.Sincethepagetableispaged,thepagenumberisfurtherdividedinto:a10-bitpagenumber.a10-bitpageoffset.Thus,alogicaladdressisasfollows:wherepiisanindexintotheouterpagetable,andpjisthedisplacementwithinthepagetable.,Address-TranslationScheme,Address-translationschemeforatwo-level32-bitpagingarchitecture,Eventhoughtimeneededforonememoryaccessisquintupled,cachingpermitsperformancetoremainreasonable,4级页表有效访问时间,EAT=快表命中率(快表访问时间+内存访问时间)+快表不中率(快表访问时间+5内存访问时间)ns98%(20+100)+2%(20+500)ns=128ns,6.3.2.3反置页表(invertedpagetable),传统页表面向进程空间每个进程逻辑页面有一表项当进程空间很大时,页表很大反置页表面向内存空间每个内存页架一个表项大小固定,反置页表-工作原理,程序,物理内存,fd,pidpd,f,逻辑地址,物理地址,反置页表,速度问题,反置页表查找由表头起始,平均为表长度的一半速度慢解决方案在反置页表前增加一级杂凑表查找杂凑表与反置页表至少需要两次访问内存为进一步提高速度,快表缓冲,1.内存空间划分:动态异长,每区一段。,段首址+段内地址,物理地址=,6.3.3分段式存储管理(segmentation),2.进程空间划分:若干段,每段一个程序单位。,调用x段e,f:访问d段a,e:调用y段f,main(段号0),X(段号1),Y(段号2),D(段号3),a:,080k-1,0.40k-1,020k-1,060k-1,逻辑地址=,段号段内地址,(二维地址),main,x,y,d,3.对应关系,40k,60k,80k,20k,.,.,.,.,进程空间,内存空间,100k:,200k:,300k:,320k:,4.所需表目,(1)段表:每进程一个,段首址,段长度,100k,40k,80k,60k,段号,0:1:2:3:,20k,200k,320k,300k,(2)空闲表:系统一个arrayof(addr,size),5.所需寄存器,(1)段表首址寄存器:,b,l,(2)段表长度寄存器:,系统一个,系统一个,(3)快表(TLB):系统一组:,6.地址映射:(s,d)(b+d)逻辑地址(s,d)物理地址(b+d)(1)由程序确定逻辑地址(s,d);(2)由s查快表得b和l如查不到:(3)由s与l比较判断是否越界不满足:0sl-1,越界;(4)由s和b查段表,得b和l(5)由d与l比较,判断是否越界不满足:0dl-1,越界;(6)parbegin(s,b,l)快表,如快表满淘汰一个;由bd得物理地址parend(3)由d与l比较,判断是否越界不满足:0dl-1,越界;(4)由bd得物理地址。,段号,段长段首址,.,.,.,.,lb,s,l,b,b,l,.,.,PCB,段首址段长,段号,bl,.,s,.,+,b:,若查不到,段号,段长段首址,.,.,.,.,lb,s,l,b,b,l,.,.,PCB,段首址段长,段号,.,bl,.,s,.,.,slb,b:,+,cp,+,6.3.3.2段的共享,段长段首址,.,lb,.,段号si.,P1段表:,段长段首址,.,lb,.,段号sj.,P2段表:,共享段,.,.,b:,l,内存空间,如何实现?共享段表,段名共享记数段长段首址其它,.,vi335k125k?,共享段表:,进程段表(n)共享段表(1)共享段(1),例子:UNIX正文段(text段)structtextintx_daddr;/*diskaddressintx_caddr;/*coreaddress,ifloadedintx_size;/*size(64)int*x_iptr;/*inodepointercharx_count;/*referencecountcharx_ccount;/*numberofloadedreference;textNTEXT;defineNTEXT40,structprocint*p_textp;/*pointertotextstructure;structuserintu_tsize;,6.3.3.2段的保护(1)段表的改进:,段长段首址,.,lbe101,段号s.,访问权限RWE,.,段号段长段首址,.,slb101,访问权限RWE,(2)快表的改进:,.,共享段表入口,6.3.4段页式存储管理(segmentationwithpaging),段式优于页式便于共享和保护页式优于段式消除“碎片”问题段页式:结合二者优点每个进程包含若干段每个段包含若干页,6.3.4.1基本原理1.内存空间划分:(同页式)静态等长,2i,称为一页架。物理地址=(页架号,页内地址)=(f,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 糖尿病足考试试题及答案
- 官方兽医试题及答案
- 阿里巴巴考试题及答案
- 北京购房专业知识培训课件
- 人行清算面试题及答案
- pte考试题型及答案
- java面试题及答案之服务器
- 教资综合试题及答案
- 2025年广西民族大学体育与健康科学学院招聘考试试题(含答案)
- 2025年甘肃有色工程勘察设计研究有限公司招聘考试笔试试题(含答案)
- 高海拔作业引发的危险
- JC-T 507-2022 建筑装饰用水磨石
- 甲醇安全知识培训
- (对外)出租车驾驶员安全行车常识培训课件
- 《房产交易税费计算》课件
- 高效时间管理-提升个人工作效率的方案
- 2023年地质矿产勘测行业技能鉴定考试-地勘钻探工考考试历年高频核心考点选编附答案
- 初中1600个必背单词带英标
- 科技特派员服务规范
- 基础医学专业就业前景分析
- 红墩界煤矿矿井水综合利用排水管线建设项目环境影响报告
评论
0/150
提交评论