【教学课件】第五章存储管理.ppt
《【教学课件】第五章存储管理.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第五章存储管理.ppt(65页珍藏版)》请在三一办公上搜索。
1、第五章 存储管理,5.1 存储管理的功能 5.2 分区存储管理5.3 覆盖与交换技术5.4 页式管理5.5 段式与段页式管理5.6 局部性原理和抖动问题,5.1 存储管理的功能,存储器的扩充地址变换和重定位存储空间分配存储保护,5.1.1 虚拟存储器:,利用OS的手段来实现存储器扩充的一种技术。不考虑物理存储器的大小和信息存放的实际位置,只规定每个进程中互相关联的信息的相对位置。每个进程都有自己的虚拟存储器,且虚拟的容量受计算机的地址结构和寻址方式的影响。,虚地址空间和实地址空间,程序访问的地址是虚地址,它可以访问的虚地址范围叫做程序的虚地址空间。,在指定的计算机系统中,可使用的实地址范围叫做
2、计算机的实地址空间。,实现虚拟存储技术注意的问题,需要有相当容量的辅存以便足以存放多个用户作业的地址空间要有一定容量的主存地址变换机构存储保护,源程序,编译,链接,虚拟空间,地址变换,物理存储器,地址变换和物理存储器,5.1.2 地址变换和重定位,1.地址映射,为保证程序正常运行,必须将逻辑地址正确地转换为物理地址,这种地址转换机构称为地址映射.,地址映射方式,就是建立虚地址到实地址之间的对应关系,也就是实现虚地址到实地址的一个对应.,jump 1400load 2200,1000,1400,2200,jump 1400load 2200,绝对地址,jump 1400load 2200,0,4
3、00,1200,jump 400load 1200,相对地址,绝对装入,引入相对地址的好处:,可以让OS进行分配空间减少了内存对于用户编写程序的制约,2.静态地址映射,在作业装入过程中进行地址变换的方式称为静态重定位或静态地址映射,0,1000,2500,5500,0,11000,12500,15500,10000,作业装入内存的情况,优点:,不需要硬件支持,缺点:,无法实现虚拟存储器,必须占用连续的内存空间;难以做到程序和数据的共享,3.动态重定位,是在程序执行期间,随着每条指令和数据访问时,自动地进行地址转换。把相对地址与程序在内存中的起始地址相加得到正确的物理地址。,0,100,400,
4、5500,.,.,一段程序所在的虚地址空间,400,VR,+,1000,BR,1000,1100,1400,.,.,重定位寄存器,虚拟空间,内存空间,动态地址重定位,动态地址重定位的实现过程:,设置基地址寄存器BR,虚地址寄存器VR将程序装入内存,且将其占用的内存区首地址BR中.在程序执行过程中,将要访问的虚地址送入VR中.地址变换机构把VR和BR的内容相加,得到实际的物理地址.,动态地址重定位的优点:,可以不连续地分配内存空间.提供了实现虚拟存储的基础,实现了虚拟存储最基本的一个保障,为今后的程序分段提供了有利的基础.有利于程序段的共享.,5.1.3 内存的分配和回收,存储管理器的分配策略有
5、以下三种:,(1)放置策略:决定主存中放置信息的区域,这是确定为进程选择一个空闲区 或若干空闲区的原则.,(2)调入策略:决定信息装入内存的时机,是在需要时调入主存.,(3)交换策略:在主存中没有任何可用的空闲区时,决定淘汰哪些信息,以便把需要的 信息装入内存.,对主存区域进行分配时,一般有2种不同的主存区域划分方式:,将主存划分成大小不等的区域将主存等分成一系列大小相等的块.,此两种模式决定了内存分配时所采取的措施或情况,5.1.4 存储保护与信息共享,现代OS采用多道程序技术,在内存当中可以驻留多个程序,为了防止被此破坏或窃取内存信息,必须由硬件(软件配合)保证每道程序只能在给定的存储区域
6、内活动,这种措施叫存储保护.,常用的存储保护手段:,(1)上下界地址寄存器,10KB,20KB,上界寄存器UR,下界寄存器LR,(a)上下界寄存器,10KB,10KB,基地址寄存器,长度寄存器,10KB,20KB,10KB,20KB,(b)基址、限长寄存器,(2)存储保护键,为每一个存储块提供一个单独的保护键.在程序状态字(PSW)在设置相应的保护键开关字段.对不同的进程赋予不同的开关代码,以和被保护的存储块中的保护键匹配.每当CPU访问主存时,都将存储块的保护键和PSW中的开关字段进行匹配,相同时允许访问,不相同时不能方法.,例:,PSW,保护位,1:要求保护0:不要求保护,5.2 分区存储
7、管理,单一连续分配:所谓单一,是指内存中只驻留一道作业.为便于地址转换,把作业连 续地存放在内存中,而不是离散地存放.,主要用在早期的单道批处理系统中,采用静态分配的方式.,优点:,方法简单,易于实现.,缺点:,仅适用于单道程序,不能处理多道.,1.固定分区法,分区管理的基本思想就是给每一个内存中的进程划分一块存储区,用以连续存放各进程的程序和数据,使各进程并发执行.,【主要特征:】,内存中分区的个数是固定的,分区的大小也是固定的。,【缺点:】,一个作业和另一个作业之间总是存在着碎片。,分区说明表,OS,进程A(6K),B(16K),进程B(25K),进程C(36K),内存,第1分区,第2分区
8、,第3分区,第4分区,3.4 动态分区法,是在作业装入到内存时,按照作业的大小去划分分区,使分区的大小正好适应作业的需要,D(120K),OS,A,OS,A,OS,A,OS,A,B,B,B,B,C,C,D,【内存分配情况:】,分区表,可用空间表,动态分区表的数据结构,40K,16K,78K,100K,24K,9K,(a)可用空间表,(b)请求表,(c)自由链,分区的分配与回收,要求Xk大小分区,取分区说明表第一项,表结束吗?,无法分配,是,否,该区空闲?,是,分区长度Xk,状态位置为“正在使用,否,否,取下一表项,返回分区号,固定分区分配算法,动态分区时的分配与回收,对于请求表中的要求内存长度
9、,分配程序从可用表或自由链中找出合适的空闲区分配给程序分配空闲区后,更新可用表或自由链进程释放内存资源时,和相邻的空闲区进行链接合并,更新可用表或自由链。,某一时刻:C执行完毕并释放内存,进程E(50K),进程F(16K)需要内存空间,OS,A(8K),B(16K),C完成(64K)空闲区,D(124K),24K空闲区,内存,0,256,进程E(50K)进程F(16K),进入内存,OS,A(8K),B(16K),E(50K),D(124K),F(16K),内存,0,256,14K空闲区,8K空闲区,OS,A(8K),B(16K),E(50K),F(16K),内存,0,256,12414138K
10、空闲区,8K空闲区,进程B(16K)进程D(124K),完成,16K空闲区,例:,A,B,C,空闲区,B完成,A,C,空闲区,空闲区,D进入,A,C,空闲区,D,E进入,A完成,E,C,空闲区,D,说明:动态分区管理模式可以把系统中一片连续的可用空间切割成多个不连续的可用空间,常见的适应算法:,1、最佳适应算法:找到满足条件最小的那个内存空间。,优点:,平均而言,只要查找一半的表格便能找到最佳适应的空闲区如果有一个空闲区的容量正好满足要求,则它必被选中。如果不存在正好满足需要的空闲区,则选中一个容量接近的空闲区。,缺点:,剩下比较小的碎片,要求:按空闲区大小从小到大的次序组成空闲区可用表或自由
11、链。在进行内存分配时,首先从空闲区表(空闲分区链)首开始查找,直到 找到第1个能满足大小要求的空闲分区为止。,优点:,只要比较第一项就能判定能否满足要求,如满足,则立即分配。分配后剩下的空闲区可能较大,可供以后使用。,缺点:,由于最大空闲区总是首先被分配,当有大作业来时,其存储空间的申请往往得不到满足。,3、最先适应算法:找到第1个满足要求的空间进行分配。,要求:需求可用表或自由链按起始地址递增的次序排列 在进行内存分配时,找到第1个满足作业大小要求的空闲区为止。,优点:,释放内存时,如果有相邻的空闲区就进行合并,使其成为一个较大的空闲区。优先利用内存低地址部分的空闲区,从而保留了高地址部分的
12、大空闲区。,缺点:,增加了查找可用空闲区的开销,2、最差适应算法:比较可用空间,找到满足条件的最大那个内存空间进行分配。,要求:按空闲区大小递减的顺序组成空闲区可用表或自由链。在进行内存分配时,首先检查空闲区的第1个分区,如果第1个空闲分区 大小小于所要求的大小,则分配失败。,4、循环最先适应算法:,要求:在进行内存分配时,不再每次从链首查找。而是从上次找到的空闲区的 下一个空闲区开始查找,直到找到第1个满足条件的空闲区。,优点:,存储空间的利用更加均衡。,缺点:,导致缺乏大的空闲区。,例:,下表给出了某系统中的空闲分区表,系统采用可变式分区存储管理策略。现有以下作业序列:96K,20K,20
13、0K。若用最先适应算法和最佳适应算法来处理这些作业序列,哪种算法可以满足该作业序列的请求,为什么?,空闲分区表,1、采用最佳适应算法,申请96K,选中的是5号分区,大小一样,从空闲表中删除5号分区申请20K时,选中1号分区,分配后还剩下12K.最后申请200K时,选中4号分区,分配后还剩下18K.,分配后的空闲分区表,2、采用最先适应算法,申请96K,选中的是4号分区,剩余122K.申请20K时,选中1号分区,分配后还剩下12K.最后申请200K时,现有的5个分区都不能满足要求。,分配后的空闲分区表,例:,在某系统中,采用固定分区分配管理方式,内存分区情况如下表所示。现有大小为1K,9K,33
14、K,121K的多个作业要求进入内存。,要求:画出它们进入内存后的空间分配情况,并说明主存浪费情况。,0,20K,28K,60K,180K,512K-1,OS,第1分区,第2分区,第3分区,第4分区,0,1K的作业,28K,60K,180K,512K-1,OS,20K,9K的作业,33K的作业,121K的作业,第1分区,第2分区,第3分区,第4分区,例:,A,B,C,碎片,解决此问题的策略:,程序浮动:程序在内存中的移动。,多重分区:一个作业可以占据几个不连续的分区,D,程序浮动的时机:,只要出现碎片就进行程序浮动。,仅当一个作业到来,任何一个可用空间都不满足,但它们的和能 够满足要求时进行程序
15、的浮动。,A,B,C,多重分区:一个作业可以占据几个不连续的分区。,A,B,C,碎片,作业,OS,A,OS,A,OS,A,OS,A,B,B,B,B,C,C,D,【内存分配情况:】,存储空间的扩充:,覆盖技术:指一个作业和其他作业,或者一个作业的若干个程序段共享内存的技术。,要解决的问题:在小的存储空间中运行大作业的问题。,覆盖技术的实现方法:,将一个大的程序划分成功能独立的若干子程序,将执行时并不要求同时装入主 存的子程序分成一组,每一组分配到同一个存储区域。,例:,程序大小24K,内存空间13K,主程序,A(子程序),B(子程序),C,D,E,G,F,H,3K,1K,4K,4K,4K,4K,
16、3K,3K,2K,主程序,A(B),4K,C(D、E、F、G),4K,H,3K,内存空间的分配情况,缺点:,程序员必须完成把一个程序划分成不同的程序段,并规定它们的执行和覆盖顺序的工作。,交换技术(对于交互式的作业而言):将暂时不需要的部分移到辅存,让出主存以调入需要的部分,交换到辅存的可以再 度被调入。,RUN,READY(A),READY(B),内存,头,尾,就绪队列,时间片到(换出),调度,(换入),5.5 页式管理,页式管理的基本原理虚拟存储管理堆栈型替换算法抖动与程序局部性,等分主存:把主存划分成相同大小的存储块,这个存储块称为页架。对于一个特定的计算机系统而言,页架大小通常是固定不
17、变的。并给各页架从零开始依次编以连续的页架号为0、1、2、3.用户逻辑地址空间的分页:把用户的逻辑地址空间(虚地址空间)划分成若干个与页架大小相同的部分,每部分称为页。并给各页从零开始依次编以连续的页号0、1、2、3逻辑地址的表示:用户的逻辑地址一般是从基地址”0“开始连续编号,即是相对地址。在分页系统中,每个虚拟地址(相对地址)用一个数对(P,D)来表示。主存分配原则:分页情况下,系统以页架为单位把主存分给作业或进程,并且给一个作业的各页架不一定是相邻或连续的。页表与页表地址寄存器:由于一个作业的各页并不全在主存中,只是将最近需要的几页放在主存中,同时这几项又不可能分散地装入各页架。页面尺寸
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教学课件 教学 课件 第五 存储 管理
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-5662667.html