1.1windows操作系统概述 (11)_第1页
1.1windows操作系统概述 (11)_第2页
1.1windows操作系统概述 (11)_第3页
1.1windows操作系统概述 (11)_第4页
1.1windows操作系统概述 (11)_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第十一讲连续存储分配、分页存储管理目的与要求:了解连续存储分配,掌握分页式存储管理。重点与难点:连续可变存储管理;分页式存储管理。作业:5,6,7,11,第五章存储管理,研究作业(进程)在主存的存放问题,内存空间安排,5.1连续空间分配5.1.1单道连续分配,特点:任一时刻内存只有一道作业,该作业连续存放于内存中。,一、空间划分与保护,操作系统,用户程序,0,a,a+1,n,界地址寄存器,主存,Aa?,cpu,true,false,地址A,终止程序运行,越界检查机构:用户程序每访问一次主存,越界检查机构将访问的地址与界地址寄存器中的值比较。若越界,则终止其执行。,特点:任一时刻内存可有多道作业,每道作业连续存放于内存.,操作系统,U1,.,Un,5.1.2多道固定划分法,一、空间划分及保护,将用户内存空间分成长度固定的若干块。,用户空间,1.上下界寄存器和地址检查机构。当作业被调度运行时,作业在内存中的上下界地址送上下界寄存器,每次内存访问时,地址检查机构作越界检查。作业程序要是绝对地址或在加载到内存时确定绝对地址。,CPU,主存,下界寄存器,上界寄存器,True,True,地址A,FF,程序性异常,地址访问保护有两种方式:,2.基址寄存器、长度寄存器和动态地址转换机构。当作业被调度运行时,将作业所占内存基址及长度送基址、长度寄存器,每次内存访问时,先看访问地址是否小于长度,然后+基址进行访存。用户程序代码是动态浮动的。,CPU,主存,基地址寄存器,长度寄存器,+,True,地址A,F,程序性异常,二、作业存储调度(中调),OS,4k,6k,12k,OS,4k,6k,12k,.,7k,3k,4k,5k,.,3k,4k,1k,2k,.,5k,6k,.,7k,10k,11k,8k,多队列法,单队列法,三、存储碎片内部碎片:内存某存储区间大于其存放作业空间的部分。外部碎片:内存某存储区间容不下要运行的作业时。,一、管理方法,5.1.3多道连续可变划分法,特点:多道、连续、但不固定划分内存。,系统设置一个空闲块队列,初始状态时队列中只有一个连续的空闲块。作业到达后,以某种策略分配空间。作业撤离时,将释放的空间加入空闲队列。,举例:假设任一时间段内,内存中每一作业的运行时间相等。,作业到来次序所需存储量运行时间,16010,21005,33020,4708,55015,OS,040256,J1,J2,J3,J4,J5,分配:分配策略包括首次满足法/最佳满足法/最大满足法,在找到合适的空闲块后,从其中将作业大小的空间分给作业,而剩余部分挂入空闲队列。下面F是空闲块集合;size(k)为块k的大小;size(v)为用户所需空间。if所有属于F的k,均有size(k)size(v),则失败。否则按某一策略选出k,使得size(k)size(v).F=Fk;,回收:当作业结束时,收回作业所占空间,将此块链入空闲队列。若空闲队列中原来有与此块的相邻块,则把这些块合并成一个大连续块。,(续分配)4.ifsize(k)-size(v)基本单位,则将k分给用户。5.否则将k分成k1、k2,其中k1分给用户size(k1)=size(v),F=F+k2,紧致:通过移动作业位置可以将零散的空闲块连接成大块。要求作业动态可浮动。,Bitmap数组1,1,1,0,0,1,0,0,0,0,1,0,0,3,2,1,4,12,空闲队列头,二、可用空间管理除用队列表示可用空闲块外,也可以用数组登记可用空闲块,数组项=用户空间总量/基本分配单位。,一、空间安排用户进程空间(地址)叫逻辑空间(地址)内存空间(地址)叫物理空间(地址),用相同长度为单位对逻辑空间等分出的每个区域叫页,对物理空间等分出的区域叫页帧。,5.2不连续空间分配5.2.1分页管理,特点:作业(进程)分成页面,内存也划分成页面,将作业(进程)页面不连续地分布到内存页面。,回收:当进程结束时,系统回收它的所有物理页帧入空闲队列。二、动态地址转换机构因页式方法中逻辑地址与物理地址之间失去自然联系,故要通过页表,并由硬件动态地址转换机构将逻辑地址映射成物理地址才能正确访存。,分配:初始时,所有页帧都在空闲队列中,当用户进程被创建时,系统按需要量从空闲队列获得相应量的页帧。,1,8,5,3,0,4,9,8,7,6,5,4,3,2,1,0,3,2,1,0,逻辑空间,物理空间,页表,(一)页表页表放在系统空间的页表区,存放逻辑页与物理页帧的对应关系。PCB表中有指针指向页表。,页号,(二)地址结构分页逻辑地址=P(页号).d(页内位移)分页物理地址=f(页帧号).d(同上)P=线性逻辑地址/页面大小;d=线性逻辑地址-P*页面大小。线性物理地址=f*页面大小+d,8,7,10,4,1,页表,(三)页面大小的考虑将页面大小取成2的k次幂(k是正整数),获取P和d的除、乘法只要通过位移实现.页面大小为2的k次幂的地址转换原理如下:,Pd,页表始地,f,nk-10,fd,nk-10,+,页表,CPU有一个用于页号页帧号转换的快表。将页表项存入快表的地址转换原理如下:,Pd,nk-10,fd,nk-10,P2,f2,P1,f1,.,.,P,f,.,.,Pm,fm,(四)快表,关键字值,地址转换的一般过程(快表可以看成是页表的cache),Pd,nk-10,fd,nk-10,P2,f2,P1,f1,.,.,P,f,.,.,Pm,fm,f,页表始地,+,页表,快表,在进程被调度占用cpu时,将进程页表始址装入页表始地址寄存器,同时作废掉快表中的原内容,用新的页表项替换。,命中率:选用8-12项组成的快表,并采用适当的替换策略,在快表中匹配成功的可能性可达80-90%。,等效访问时间:设访存时间为750ns,搜索快表的时间为50ns,命中率为80%,则(这里假设先查快表再查页表):80%*(50750)+20%*(50+750+750)=950ns,三、可用空间管理可用bitmap数组或空闲页帧链来管理可用页帧。四、共享与保护通过页表可以使几个逻辑空间指向同一个物理空间,实现程序共享。,举例:,EDIT1,EDIT2,EDIT3,DATA1,EDIT1,EDIT2,EDIT3,DATA2,EDIT1,EDIT2,EDIT3,DATA3,3,4,6,1,3,4,6,7,3,4,6,10,OS,DATA1,EDIT1,01234567891011,EDIT2,EDIT3,DATA2,DATA3,P1P2P3,页表,存储保护:越界保护:设置页表长度寄存器,查页表前,先检查页号是否越界。操作访问保护:在每个页表项中增设一存储保护域,用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论