第4章 存储.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《第4章 存储.ppt》由会员分享,可在线阅读,更多相关《第4章 存储.ppt(75页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第4章章 存储管理存储管理存储器管理n存储器的层次n高速缓冲存储器(cache)n内存(主存)n外存(辅存)n主存分为:系统区用户区存储器管理要管理的区域存储器管理的功能思考思考:要运行你编写的C语言程序,首先要把你的程序装入内存。如何为程序分配一片存储空间?n内存的分配和回收n地址变换n内存共享与保护n虚拟存储器地址重定位n逻辑地址:用户程序中以“0”开始的地址。n物理地址:内存中的地址。n地址重地位:把逻辑地址转换成物理地址的过程。n地址重地位的方式:根据定位的时机不同,分为静态静态地址重定位和动态动态地址重定位。静态地址重定位n在作业装入内存时,进行的地址重定位。n程序中的地址都是物理
2、地址。n优点:简单,无需增加硬件地址转换机构。n缺点:n一旦装入,就不能在内存中移动位置。n用户无法共享。动态地址重定位n在程序执行时进行的地址重地位。n硬件支持:重定位寄存器(基址寄存器)。n程序中的地址是逻辑地址。n物理地址=基址寄存器+逻辑地址n例:基址寄存器的值为1000,LOAD A,500 则操作数的地址为:1500。load a,50023670500逻辑地址空间1000定位寄存器2367物理地址空间+动态地址重定位n优点优点:n程序占用的内存空间动态可变。n容易实现内存共享。n缺点缺点:n需要硬件支持,增加成本。n管理软件比较复杂。n现代计算机中普遍采用动态重定位动态重定位的定
3、位方式。主要的内存管理技术n单道连续存储管理n分区存储管理n固定分区存储管理n可变分区存储管理n页式存储管理n虚拟存储管理4.3 单道连续存储管理1、基本原理:内存分为两部分:用户区和系统区。任何时刻,内存中最多只有一个用户作业。2、内存分配算法:用户请求是否小于用户区?分配Y不能运行4.3 单道连续存储管理3、存储保护:保护系统程序不会遭用户程序的破坏。措施:设置一个界限寄存器,存放当前可供用户使用的主存区域的起始地址。4、多用户共享(分时系统)对换(swapping)技术:让多个用户的作业轮流进入主存储器。硬件支持:大容量高速辅助存储器。5、地址重地位方式:静态地址重地位。4.3 覆盖技术
4、如果作业逻辑地址空间用户区,怎么处理?n原理:n作业分段n主段始终保留在内存(驻留区)n其它段保存在辅存中,轮流进入主存n谁来分段?n用户把如何分段和覆盖情况写成一个“覆盖描述文件”分区存储管理1、基本原理基本原理:将内存划分为若干个连续的存储区域(称为一个分区),每一个分区中可以(也只能)装入一个作业。2、分区的种类:根据分区的时机不同,分为:固定分区和可变分区两种。.固定分区存储管理1、基本原理:在作业加载内存之前之前,将内存划分为若干个连续的区域。一旦划分好后,主存储器中的分区个数和大小就确定了,不能改变。各个分区的大小可以不同(长作业区和短作业区)。2、内存分配与回收 问题:如何知道哪
5、些分区已分配;各个分区的大小和位置?(1)分区说明表:记录系统中所有分区的情况,结构如下:固定分区存储管理 区号 起始地址 长度 占用标志 其中,“占用标志”表示该分区是已分配还是空闲。(2)分配算法:从分区说明表中查找一个状态是“空闲”、大小满足作业要求的分区,并将状态改为“已分配”。(3)回收算法:只需要将分区说明表中的“状态”值改为“空闲”即可。用户作业LP=0是否越界?N长度L?分配(状态改为“已分配”)YP=P+1状态为“空?”YNN无法分配Y固定分区存储管理3、地址转换地址转换:静态重定位的方式。4、存储保护存储保护:上下界地址法。处理器设置一对寄存器:上界寄存器和下界寄存器,作业
6、地址应满足:下限地址绝对地址上限地址 否则,发生“地址越界”中断事件。5、存在问题:内存利用率很低。措施:提高内存利用率的措施(1)按统计规律划分分区。(2)按分区大小顺序排列,低地址部分是较小的分区,在分区说明表中按从小到大顺序登记。为作业分配满足条件的最小的分区。(3)按作业对主存储器的需求量排成多个队列,每个作业队列中的作业只能依次装入一个分区中。可变分区存储管理基本原理基本原理在作业要求装入主存时,根据作业的大小从空闲内存区中“切出”一片连续的区域分区的大小和个数是不确定的 初始时,系统中只有一个连续的用户区域,随着作业的到达和撤消,用户区就被划分为若干个大小不等的区域。内存OS作业A
7、作业B作业C内存分配与回收内存分配与回收1、空闲区的管理(1)空闲分区表空闲分区表 序号 起始地址 大小 状态 注意:这里的状态是指该表目的状态,其值表示该表目是空闲还是已使用。(2)空闲分区链空闲分区链空闲区大小;下一空闲区起始地址 分配算法(1)1、最先适配算法:空闲分区表按地址地址从小小到大大排列,从第一个开始,找到第一个满足条件的分区,根据作业的大小切出一片连续的区域。作业请求LP=1是否越界?Y不能分配状态为空闲?NP=P+1长度LNY长度=L状态置为“空表目”YN起始地址=起始地址+L长度=长度-L分配算法(分配算法(2)2、最优适配算法最优适配算法 原理:将空闲区按大小大小从小到
8、大排列,将满足需求的最小的空闲区分配给作业。基于:为了更好地满足大作业的需求。但是:这样切下的空闲区容易变成“碎碎片片”。算法流程与最先适配法相同。分配算法(3)3、最坏适配算法 从满足需求的最大的空闲区中为作业分配空间。空闲分区表按大小大小从大到小排列。基于:切完后的空闲区仍能满足某个作业的需求,减少碎片的数量。但对大作业不利。其流程为:用户作业请求取分区表的第一个表项长度起始地址起始地址长度长度长度状态置空表目不能分配N回收算法回收算法、待回收区:其起始地址为,长度为。、上空闲区和下空闲区、可能的四种情况:()上下都不空。()上空,下不空。()下空,上不空。()上下都为空。待回收区作业区作
9、业区上下都不空上下都不空待回收区作业区上空下不空上空下不空在空闲分区表中找一个空表目,将其内容填入。上空闲区:大小大小待回收区作业区待回收区下空上不空下空上不空下空闲区:起始地址=A大小=大小+L上下都为空上下都为空上空闲区:长度=长度+L+下空闲区起址不变。注注 意意n如何判断待回收区是否与空闲区相连?地址+长度=下一空闲区首地址n空闲区的管理:为了便于空闲区的合并,采用链接结构。n按地址从小到大排序。n第一块和最后一块的情况。可变分区存在的问题及解决办法n碎片问题:一些很小的内存区域。n移动技术n将离散的碎片集合在一起。n不是任何时候都可以移动。n移动技术需要很大的系统开销。n 保护问题n
10、界地址法:基址和长度寄存器。上上 机机 题目题目1、编写可变分区存储管理算法(最先适配法)2、编写可变分区的内存回收算法。分区存储管理的缺点n“碎片”问题n原因:作业要求连续的存储空间。n解决办法:允许作业占据不连续的空间。页式存储管理基本原理内存分配地址变换内存保护和内存共享虚拟存储器基本原理n“等分”内存。n把内存划分为大小相同的“块”。n把用户作业空间划分为大小相同的“页”。n页和块的大小相同。n在把作业加载到内存时,页和页之间不再连续。n但页内连续。n也不必把所有的页都一次性加载内存,只需要加载那些马上要用到的页。其余的页在需要时再加载。地址变换n逻辑地址:页号+页内地址n如何转变为内
11、存物理地址?n考虑:物理地址=块号*块长度+块内地址块长度一定,块内地地址与页内地址相同。n问题变为:如何根据页号得到块号?n页表页表:页号页内地址页表地址变换过程1、根据页号查页表,得到块号。2、根据块号和页内地址计算物理地址。3、例题:例题例题:在分页存储管理系统中,用户编程空间共32个页,每页大小为1024B,内存为16KB。假定某一时刻用户页表如下,若逻辑地址为035E(H),求其所对应的物理地址。页号 物理块号 0 5 1 10 2 3 3 7分析分析:(1)根据题意,页内地址为10位,页号为5位。210=1024,25=32 (2)根据给定的逻辑地址得到页号和页内地址。035E(H
12、)=(0000001101011110)2 从左边数10位为页内地址,剩余为页号。页号为0。(3)根据页号查页表,得到块号为5。(4)将块号与块内地址组合为物理地址:01011101011110=175E(H)页表的实现快表n从上述地址变换过程可以看出:CPU每取一条指令或数据,都必须经过页表。n因此,页表的每一个表项都是一个动态重定位机构。n如何实现页表,将影响系统的效率。n方式:n硬件实现:用寄存器组。但代价太高,特别是内存很大时,是不可能的。n软件实现:将页表放在内存中。每取一条指令,要两次访问内存。快 表n软硬件结合:将页表中使用最频繁的表项(页表的的一个子集)放在cache中。称为“
13、快表”。ncache也称为“联想寄存器”,它不是根据地址而是根据所存信息的全部特征或部分特征进行存取。在这里为页号。n若要访问的页在cache中,则只需一次访问内存。若不在,则到内存中去找,同时把新的页表表项写入cache。例题:对于利用快表且页表存于内存的分页系统,假定CPU的一次访问内存时间为1s,访问快表时间忽略不计。如果85%的地址映射可直接通过快表完成,那么进程完成一次内存读写的平均有效时间是多少?分析:(1)若直接通过快表完成,则只需一次访问内存。(2)若不能,则需要两次访问内存。(3)平均时间=1*85%+2*15%内 存 分 配n用户需求:需要多少块?n内存空闲块的管理:位示图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第4章 存储
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内