五章节存储管理.ppt
《五章节存储管理.ppt》由会员分享,可在线阅读,更多相关《五章节存储管理.ppt(65页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第五章 存 储 管 理 五章节存储管理 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望第五章 存 储 管 理 5.1 存储管理的功能存储管理的功能存储器的扩充存储器的扩充地址变换和重定位地址变换和重定位存储空间分配存储空间分配存储保护存储保护5.1.1 虚拟存储器:虚拟存储器:利用利用OS的手段来实现存储器扩充的一种技术。不考虑物理存储器的大小的手段来实现存储器扩充的一种技术。不考虑物理存储器的大小和信息存放的实际位置,只规定每个进程中互相关联的信息的相对位置。和
2、信息存放的实际位置,只规定每个进程中互相关联的信息的相对位置。每个进程都有自己的虚拟存储器,且虚拟的容量受计算机的地址结构和寻每个进程都有自己的虚拟存储器,且虚拟的容量受计算机的地址结构和寻址方式的影响。址方式的影响。第五章 存 储 管 理 虚地址空间和实地址空间虚地址空间和实地址空间程序访问的地址是虚地址,它可以访问的虚地址范围叫做程序的虚地址空间。程序访问的地址是虚地址,它可以访问的虚地址范围叫做程序的虚地址空间。在指定的计算机系统中,可使用的实地址范围叫做计算机的实地址空间。在指定的计算机系统中,可使用的实地址范围叫做计算机的实地址空间。实现虚拟存储技术注意的问题实现虚拟存储技术注意的问
3、题需要有相当容量的辅存以便足以存放多个用户作业的地址空间需要有相当容量的辅存以便足以存放多个用户作业的地址空间要有一定容量的主存要有一定容量的主存地址变换机构存储保护地址变换机构存储保护源程序编译编译链接链接虚拟空间地址变换地址变换物理存储器地址变换和物理存储器地址变换和物理存储器第五章 存 储 管 理 5.1.2 地址变换和重定位地址变换和重定位1.地址映射地址映射为保证程序正常运行为保证程序正常运行,必须将逻辑地址正确地转换为物理地址必须将逻辑地址正确地转换为物理地址,这种地址这种地址转换机构称为地址映射转换机构称为地址映射.地址映射方式地址映射方式就是建立虚地址到实地址之间的对应关系就是
4、建立虚地址到实地址之间的对应关系,也就是实现虚地址到实地址也就是实现虚地址到实地址的一个对应的一个对应.jump 1400load 2200100014002200jump 1400load 2200绝对地址绝对地址jump 1400load 220004001200jump 400load 1200相对地址相对地址绝对装入绝对装入第五章 存 储 管 理 引入相对地址的好处引入相对地址的好处:可以让OS进行分配空间减少了内存对于用户编写程序的制约2.静态地址映射静态地址映射在作业装入过程中进行地址变换的方式称为静态重定位或静态地址映射在作业装入过程中进行地址变换的方式称为静态重定位或静态地址映
5、射load 25003500100025005500load 12500350011000125001550010000作业装入内存的情况作业装入内存的情况第五章 存 储 管 理 优点优点:不需要硬件支持不需要硬件支持缺点缺点:无法实现虚拟存储器无法实现虚拟存储器必须占用连续的内存空间必须占用连续的内存空间;难以做到程序和数据的共享难以做到程序和数据的共享3.动态重定位动态重定位是在程序执行期间,随着每条指令和数据访问时,自动地进行地址转换。把相对地址与程序是在程序执行期间,随着每条指令和数据访问时,自动地进行地址转换。把相对地址与程序在内存中的起始地址相加得到正确的物理地址。在内存中的起始地
6、址相加得到正确的物理地址。LOAD 1 4005432101004005500.一段程序所在的虚地址空间一段程序所在的虚地址空间400VR+1000BRLOAD 1 40054321100011001400.重定位寄存器重定位寄存器虚拟空间虚拟空间内存空间内存空间动态地址重定位动态地址重定位第五章 存 储 管 理 动态地址重定位的实现过程动态地址重定位的实现过程:设置基地址寄存器设置基地址寄存器BR,虚地址寄存器虚地址寄存器VR将程序装入内存将程序装入内存,且将其占用的内存区首地址且将其占用的内存区首地址BR中中.在程序执行过程中在程序执行过程中,将要访问的虚地址送入将要访问的虚地址送入VR中
7、中.地址变换机构把地址变换机构把VR和和BR的内容相加的内容相加,得到实际的物理地址得到实际的物理地址.动态地址重定位的优点动态地址重定位的优点:可以不连续地分配内存空间可以不连续地分配内存空间.提供了实现虚拟存储的基础提供了实现虚拟存储的基础,实现了虚拟存储最基本的一个保障实现了虚拟存储最基本的一个保障,为今后的程序分段提供了有利的基础为今后的程序分段提供了有利的基础.有利于程序段的共享有利于程序段的共享.第五章 存 储 管 理 5.1.3 内存的分配和回收内存的分配和回收存储管理器的分配策略有以下三种存储管理器的分配策略有以下三种:(1)放置策略放置策略:决定主存中放置信息的区域决定主存中
8、放置信息的区域,这是确定为进程选择一个空闲区这是确定为进程选择一个空闲区 或若干空闲区的原则或若干空闲区的原则.(2)调入策略调入策略:决定信息装入内存的时机决定信息装入内存的时机,是在需要时调入主存是在需要时调入主存.(3)交换策略交换策略:在主存中没有任何可用的空闲区时在主存中没有任何可用的空闲区时,决定淘汰哪些信息决定淘汰哪些信息,以便把需要的以便把需要的 信息装入内存信息装入内存.对主存区域进行分配时对主存区域进行分配时,一般有一般有2种不同的主存区域划分方式种不同的主存区域划分方式:1将主存划分成大小不等的区域2将主存等分成一系列大小相等的块.此两种模式决定了内存分配时所采取的措施或
9、情况此两种模式决定了内存分配时所采取的措施或情况第五章 存 储 管 理 5.1.4 存储保护与信息共享存储保护与信息共享现代现代OS采用多道程序技术采用多道程序技术,在内存当中可以驻留多个程序在内存当中可以驻留多个程序,为了防止被此破坏为了防止被此破坏或窃取内存信息或窃取内存信息,必须由硬件必须由硬件(软件配合软件配合)保证每道程序只能在给定的存储区域保证每道程序只能在给定的存储区域内活动内活动,这种措施叫这种措施叫存储保护存储保护.常用的存储保护手段常用的存储保护手段:(1)上下界地址寄存器上下界地址寄存器10KB20KB上界寄存器上界寄存器UR下界寄存器下界寄存器LR(a)上下界寄存器上下
10、界寄存器10KB10KB基地址寄存器基地址寄存器长度寄存器长度寄存器10KB20KB10KB20KB(b)基址、限长寄存器基址、限长寄存器第五章 存 储 管 理(2)存储保护键存储保护键为每一个存储块提供一个单独的保护键为每一个存储块提供一个单独的保护键.在程序状态字在程序状态字(PSW)在设置相应的在设置相应的保护键开关字段保护键开关字段.对不同的进程赋予不同的开关代码对不同的进程赋予不同的开关代码,以和被保护的存储块中以和被保护的存储块中的保护键匹配的保护键匹配.每当每当CPU访问主存时访问主存时,都将存储块的保护键和都将存储块的保护键和PSW中的开关中的开关字段进行匹配字段进行匹配,相同
11、时允许访问相同时允许访问,不相同时不能方法不相同时不能方法.例例:A块B块C块110010010100100.1100.PSW保护位保护位1:要求保护要求保护0:不要求保护不要求保护第五章 存 储 管 理 5.2 分区存储管理分区存储管理单一连续分配:所谓单一单一连续分配:所谓单一,是指内存中只驻留一道作业是指内存中只驻留一道作业.为便于地址转换为便于地址转换,把作业连把作业连 续地存放在内存中续地存放在内存中,而不是离散地存放而不是离散地存放.主要用在早期的单道批处理系统中主要用在早期的单道批处理系统中,采用静态分配的方式采用静态分配的方式.优点优点:方法简单方法简单,易于实现易于实现.缺点
12、缺点:仅适用于单道程序仅适用于单道程序,不能处理多道不能处理多道.第五章 存 储 管 理 1.固定分区法固定分区法分区管理的基本思想就是给每一个内存中的进程划分一块存储区分区管理的基本思想就是给每一个内存中的进程划分一块存储区,用以连续存放用以连续存放各进程的程序和数据各进程的程序和数据,使各进程并发执行使各进程并发执行.【主要特征:】【主要特征:】内存中分区的个数是固定的,分区的大小也是固定的。内存中分区的个数是固定的,分区的大小也是固定的。【缺点【缺点:】一个作业和另一个作业之间总是存在着碎片。一个作业和另一个作业之间总是存在着碎片。区号分区长度起始地址进程号18k20k1230232k2
13、8k1831364k60k2064132k124k未分配分区说明表分区说明表OS进程进程A(6K)B(16K)进程进程B(25K)进程进程C(36K)内存内存第第1分区分区第第2分区分区第第3分区分区第第4分区分区第五章 存 储 管 理 3.4 动态分区法动态分区法是在作业装入到内存时,按照作业的大小去划分分区,使分区的大小正好适应作业的需要是在作业装入到内存时,按照作业的大小去划分分区,使分区的大小正好适应作业的需要A(1K)B(5K)C(9K)D(120K)OSAOSAOSAOSABBBBCCD【内存分配情况:】【内存分配情况:】第五章 存 储 管 理 区号分区长度起始地址进程号120k3
14、0k1230223k56k1831316k110k206412k200k1123分区表分区表序号可用空间长度可用空间起始地址15k50k230k80k373k127k可用空间表可用空间表第五章 存 储 管 理 动态分区表的数据结构动态分区表的数据结构40K16K78K100K24K9K序号可用空间长度可用空间起始地址11640k224k78k39k100k(a)可用空间表可用空间表作业(进程号)作业(进程号)请求长度请求长度P113KP220K.(b)请求表请求表(c)自由链自由链第五章 存 储 管 理 分分区区的的分分配配与与回回收收要求Xk大小分区取分区说明表第一项表结束吗?无法分配是否该
15、区空闲?是分区长度Xk状态位置为“正在使用否否取下一表项返回分区号固定分区分配算法固定分区分配算法第五章 存 储 管 理 动态分区时的分配与回收动态分区时的分配与回收对于请求表中的要求内存长度,分配程序从可用表或自由链中找出合适的空闲区分配给程序分配空闲区后,更新可用表或自由链进程释放内存资源时,和相邻的空闲区进行链接合并,更新可用表或自由链。第五章 存 储 管 理 某一时刻:某一时刻:C执行完毕并释放内存,进程执行完毕并释放内存,进程E(50K),进程进程F(16K)需要内存空间需要内存空间OSA(8K)B(16K)C完成完成(64K)空闲区空闲区D(124K)24K空闲区空闲区内存内存02
16、56进程进程E(50K)进程进程F(16K)进入内存进入内存OSA(8K)B(16K)E(50K)D(124K)F(16K)内存内存025614K空闲区8K空闲区OSA(8K)B(16K)E(50K)F(16K)内存内存025612414138K空闲区8K空闲区进程进程B(16K)进程进程D(124K)完成完成16K空闲区第五章 存 储 管 理 例:例:ABC空闲区B完成完成AC空闲区空闲区D进入进入AC空闲区DE进入进入A完成完成EC空闲区D说明:动态分区管理模式可以把系统中一片连续的可用空间切割成多个不连续的可用空间第五章 存 储 管 理 常见的适应算法:常见的适应算法:1、最佳适应算法:
17、、最佳适应算法:找到满足条件最小的那个内存空间。找到满足条件最小的那个内存空间。优点:优点:平均而言,只要查找一半的表格便能找到最佳适应的空闲区平均而言,只要查找一半的表格便能找到最佳适应的空闲区如果有一个空闲区的容量正好满足要求,则它必被选中。如果有一个空闲区的容量正好满足要求,则它必被选中。如果不存在正好满足需要的空闲区,则选中一个容量接近的空闲区。如果不存在正好满足需要的空闲区,则选中一个容量接近的空闲区。缺点:缺点:剩下比较小的碎片剩下比较小的碎片要求:按空闲区大小从小到大的次序组成空闲区可用表或自由链。要求:按空闲区大小从小到大的次序组成空闲区可用表或自由链。在进行内存分配时,首先从
18、空闲区表(空闲分区链)首开始查找,直到在进行内存分配时,首先从空闲区表(空闲分区链)首开始查找,直到 找到第找到第1个能满足大小要求的空闲分区为止。个能满足大小要求的空闲分区为止。第五章 存 储 管 理 优点:优点:只要比较第一项就能判定能否满足要求,如满足,则立即分配。只要比较第一项就能判定能否满足要求,如满足,则立即分配。分配后剩下的空闲区可能较大,可供以后使用。分配后剩下的空闲区可能较大,可供以后使用。缺点:缺点:由于最大空闲区总是首先被分配,当有大作业来时,其存储空间的申请往往得由于最大空闲区总是首先被分配,当有大作业来时,其存储空间的申请往往得不到满足。不到满足。3、最先适应算法:、
19、最先适应算法:找到第找到第1个满足要求的空间进行分配。个满足要求的空间进行分配。要求:需求可用表或自由链按起始地址递增的次序排列要求:需求可用表或自由链按起始地址递增的次序排列 在进行内存分配时,找到第在进行内存分配时,找到第1个满足作业大小要求的空闲区为止。个满足作业大小要求的空闲区为止。优点:优点:释放内存时,如果有相邻的空闲区就进行合并,使其成为一个较大的释放内存时,如果有相邻的空闲区就进行合并,使其成为一个较大的空闲区。空闲区。优先利用内存低地址部分的空闲区,从而保留了高地址部分的大空闲优先利用内存低地址部分的空闲区,从而保留了高地址部分的大空闲区。区。缺点:缺点:增加了查找可用空闲区
20、的开销增加了查找可用空闲区的开销2、最差适应算法:、最差适应算法:比较可用空间,找到满足条件的最大那个内存空间进行分配。比较可用空间,找到满足条件的最大那个内存空间进行分配。要求:按空闲区大小递减的顺序组成空闲区可用表或自由链。要求:按空闲区大小递减的顺序组成空闲区可用表或自由链。在进行内存分配时,首先检查空闲区的第在进行内存分配时,首先检查空闲区的第1个分区,如果第个分区,如果第1个空闲分区个空闲分区 大小小于所要求的大小,则分配失败。大小小于所要求的大小,则分配失败。第五章 存 储 管 理 4、循环最先适应算法:、循环最先适应算法:要求:在进行内存分配时,不再每次从链首查找。而是从上次找到
21、的空闲区的要求:在进行内存分配时,不再每次从链首查找。而是从上次找到的空闲区的 下一个空闲区开始查找,直到找到第下一个空闲区开始查找,直到找到第1个满足条件的空闲区。个满足条件的空闲区。优点:优点:存储空间的利用更加均衡。存储空间的利用更加均衡。缺点:缺点:导致缺乏大的空闲区。导致缺乏大的空闲区。第五章 存 储 管 理 例:例:下表给出了某系统中的空闲分区表,系统采用可变式分区存储管理策略。下表给出了某系统中的空闲分区表,系统采用可变式分区存储管理策略。现有以下作业序列:现有以下作业序列:96K,20K,200K。若用最先适应算法和最佳适应算法。若用最先适应算法和最佳适应算法来处理这些作业序列
22、,哪种算法可以满足该作业序列的请求,为什么?来处理这些作业序列,哪种算法可以满足该作业序列的请求,为什么?分区号大小起始地址132K100K210K150K35K200K4218K220K596K530K空闲分区表空闲分区表第五章 存 储 管 理 1、采用最佳适应算法、采用最佳适应算法申请96K,选中的是5号分区,大小一样,从空闲表中删除5号分区申请20K时,选中1号分区,分配后还剩下12K.最后申请200K时,选中4号分区,分配后还剩下18K.分区号大小起始地址112K100K210K150K35K200K418K220K分配后的空闲分区表分配后的空闲分区表第五章 存 储 管 理 2、采用最
23、先适应算法、采用最先适应算法申请96K,选中的是4号分区,剩余122K.申请20K时,选中1号分区,分配后还剩下12K.最后申请200K时,现有的5个分区都不能满足要求。分区号大小起始地址112K100K210K150K35K200K4122K220K596K530K分配后的空闲分区表分配后的空闲分区表第五章 存 储 管 理 例:例:在某系统中,采用固定分区分配管理方式,内存分区情况如下表所示。在某系统中,采用固定分区分配管理方式,内存分区情况如下表所示。现有大小为现有大小为1K,9K,33K,121K的多个作业要求进入内存。的多个作业要求进入内存。要求:画出它们进入内存后的空间分配情况,并说
24、明主存浪费情况。要求:画出它们进入内存后的空间分配情况,并说明主存浪费情况。020K28K60K180K512K-1OS第第1分区分区第第2分区分区第第3分区分区第第4分区分区01K的作业的作业28K60K180K512K-1OS20K9K的作业的作业33K的作业的作业121K的作业的作业第第1分区分区第第2分区分区第第3分区分区第第4分区分区第五章 存 储 管 理 例:例:ABC碎片碎片解决此问题的策略:解决此问题的策略:程序浮动:程序在内存中的移动。程序浮动:程序在内存中的移动。多重分区:一个作业可以占据几个不连续的分区多重分区:一个作业可以占据几个不连续的分区D程序浮动的时机:程序浮动的
25、时机:只要出现碎片就进行程序浮动。只要出现碎片就进行程序浮动。仅当一个作业到来,任何一个可用空间都不满足,但它们的和能仅当一个作业到来,任何一个可用空间都不满足,但它们的和能 够满足要求时进行程序的浮动。够满足要求时进行程序的浮动。ABC第五章 存 储 管 理 多重分区:一个作业可以占据几个不连续的分区。多重分区:一个作业可以占据几个不连续的分区。ABC碎片碎片作业作业第五章 存 储 管 理 进程进程A(8K)进程进程B(16K)进程进程C(64K)进程进程D(124K)OSAOSAOSAOSABBBBCCD【内存分配情况:】【内存分配情况:】第五章 存 储 管 理 存储空间的扩充:存储空间的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 章节 存储 管理
限制150内