计算机操作系统第五章存储管理

上传人:ji****72 文档编号:48557550 上传时间:2018-07-17 格式:PPT 页数:105 大小:1.90MB
返回 下载 相关 举报
计算机操作系统第五章存储管理_第1页
第1页 / 共105页
计算机操作系统第五章存储管理_第2页
第2页 / 共105页
计算机操作系统第五章存储管理_第3页
第3页 / 共105页
计算机操作系统第五章存储管理_第4页
第4页 / 共105页
计算机操作系统第五章存储管理_第5页
第5页 / 共105页
点击查看更多>>
资源描述

《计算机操作系统第五章存储管理》由会员分享,可在线阅读,更多相关《计算机操作系统第五章存储管理(105页珍藏版)》请在金锄头文库上搜索。

1、操作系统原理操作系统原理第五章第五章 存储管理存储管理1本章学习目标本章首先介绍了存储管理的研究对象和 目的,明确了存储管理的基本功能和有 关的基本概念;然后从实存和虚存两个 角度,分别介绍了常用的几种存储管理 方案;最后对各种存储管理方案存在的 问题,主要是碎片和抖动问题进行了总 结。25.1 存储管理功能 5.2 分区存储管理 5.3 覆盖与交换技术 5.4 纯分页式管理 5.5 纯段式与段页式管理 5.6 虚拟存储器管理 5.6 碎片和抖动问题本章学习内容3多级存储器体系示意图45.1存储管理功能1、存储管理的主要: (1)尽可能方便用户 (2)提高主存储器的使用效率 2、存储器管理的主

2、要功能 (1)虚拟存储器 (2)地址变换(地址映射、地址重定位)5u内存空间(或物理空间)内存是由若干个存储单元组成的,每个 存储单元有一个编号,这种编号可唯一 标识一个存储单元,称为内存地址(或 物理地址)。6u逻辑空间(虚地址空间、程序地址空间) 源程序经过汇编或编译后,形成目标程序,每 个目标程序都是以0为基址顺序进行编址的, 称为逻辑地址 用户的程序地址的集合称为逻辑地址空间,可 以是一维线性空间,也可以是多维空间。7下图 作业的名空间、逻辑地址空间和装入后的物理空间8编辑编译连接地址变化,地址重定位的功能就是要建立虚实地址的 对应关系,把逻辑地址转换成物理地址的工作。实现 地址映射有

3、两种方式:在此进行重定位地址变换的时机9静态地址重定位静态地址重定位是在程序执行之前由操作系 统的重定位装入程序完成的。动态地址重定位 动态地址重定位是在程序执行期间进行的。 10静态重定位mov r1,1000+500010001000+500huangxt256k-11000+6001000+100存贮空间作业地址空间huangxtmov r1,5000500599100+从第1000行开始重定位装入程序11静态重定位 优点 实现简单,不要硬件的支持。 缺点: 程序一旦装入内存,程序重定位之后, 就不能在内存中搬动,移动就比较困 难。 有时间上的浪费。在程序装入内存时要 将所有访问内存的地

4、址转换成物理地 址。 程序的存贮空间连续的,不能把程序放 在若干个不连续的区域内。12+1000重定位寄存器500程序地址mov r1,500010001500huangxt256k-116001100存贮空间huangxtmov r1,5000500599100作业地址空间动态重定位动态重定位重定位寄存器的值可 以动态不断变化13动态重定位动态重定位是由硬件执行时完成的,程序中 不执行的程序就不做地址映射的工作,这样 节省了CPU的时间 。 重定位寄存器的内容由操作系统用特权指令 来设置,比较灵活。 实现动态重定位必须有硬件的支持,并有一 定的执行时间延迟。 现代计算机系统中都采用动态地址映

5、射技术 。动态重定位技术能满足以下目标: (1)具有给一个用户程序任意分配内存区的能力 ; (2)可实现虚拟存储; (3)具有重新分配的能力; (4)对于一个用户程序,可以分配到多个不同的 存储区;(3)内外存数据传输的控制用户程序控制方式 操作系统控制方式 (4)内存的分配和回收 (5)内存信息的共存于保护16存储保护的方法一 把系统程序空间与用户 程序空间(由不同的用 户空间组成)分隔开来 。使多个用户程序之间隔 离,保证每道程序只能 在给定的区域内活动。用户1用户2用户3OS系统空间用户空间存储保护的方法二: 界地址保护(提供二个) 分别为:上下界寄存器 下界寄存器:存放程序装入内存后的

6、开始地 址(首址) 上界寄存器 :存放程序装入内存后的末地址 判别式:下界寄存器 物理地址上界寄存器120k下界寄存器130k上界寄存器程序120k130k0120k D 130kD 物理地址 例: 有一程序装入内存的首地址是500,末地址是 1400,访问内存的逻辑地址是500、345、1000。下界寄存器:500上界寄存器:1400逻辑地址装入内存的首地 物理地址1、500500 1000 500100014002、345500 845 500 84514003、1000500 1500 50015001400存储保护方法三: 基址、限长寄存器保护设立一个限长寄存器,如:120k基址寄存器

7、10k限长寄存器程序120k130k0D 10k D 逻辑地址 判别式:0逻辑地址限长寄存器例:有一程序装入内存的首地址是500, 末地址是1400,访问内存的逻辑地址是 500、345、1000。 限长寄存器:900=1400-5001、 0 500 9002、 0 345 9003、 0 1000 900后两种存储保护技术的区别:寄存器的设置不同 判别式中用的判别条件不同 上下界寄存器保护法用的是物理地址 基址、限长寄存器保护法用的是程序的逻辑地址 对于合法的访问地址这两者的效率是相同的,对 不合法的访问地址来说,上下界存储保护浪费的 CPU时间相对来说要多些3、存储管理方式的分类全部装入

8、部分装入非连续分配连续分配单用户连续存储分区分配固定分区存储管理动态分区存储管理静态分页式存储管理静态分段存储管理段页式存储管理请求页式存储管理请求段式存储管理241、分区存储管理 (1)基本思想:给每一个内存中的进程划分 一块适当大小的存储区,以连续存储各 进程的程序和数据,使各进程得以并发 执行。5.2分区存储管理25(2)分区管理的分类固定分区 动态分区 (3)固定分区实现方法:把内存区固定划分为若干个 大小不等的区域26划分的原则:由系统操作员或OS决定分配和回收操作:分区说明表区号分配长度起始地址状态18K20K已分配 232K28K已分配 364K60K已分配 4132K124K未

9、分配27否表结束吗该分区空闲吗分区长度 XK状态位置正在使用要求XK大小分区取分区说明表第一项无法分配取下一表项返回分区号是否否是28例:现有一个作业申请队列J1,J2,J3,J4,J5 大小为30K,20K,40K,100K,70K,按固定分区如何分配主存空间?区号 起始地址大小状态1100K80KJ1 2180K120KJ2 3300K50KJ3 4350K150KJ4100K100K0K180K300K350K29特点: 分区总数固定,限制了并发执行的进程数目 一个作业只能装入一个分区 通过对“分区分配表”的改写,来实现内存分 配和回收 当分区较大作业较小时,仍然浪费许多内存 空间30(

10、4)动态分区存储管理动态分区的实现方法 内存的分配与回收 常用的分配算法 动态分区管理其他问题的讨论31实现方法:分区的建立是作业的处理过 程中进行的,且其大小可随作业或进程 对内存的要求而改变。32分配和回收操作:可用表、自由链表和请 求表区号起始 地址大小140K16K 278K24K 3100K9K作业请求长 度 113K 220K40k16k 78k24k 100k(a)可用表(b)自由链表(c)请求表33常用的分配算法 (1)最先适应算法 (FF) (2)最佳适应算法 (BF) (3)最差适应算法 (WF)34最先适应算法35最佳适应算法36最差适应算法37 几种分配算法的比较 最先

11、适应算法具有最佳的性能 在空间利用上,最先适应算法比最佳 适应算法好,最佳适应算法比最差适 应算法好 最佳适应算法找到的空闲区最佳,但 不一定能提高主存的利用率38回收和拼接 1)归还区既有上邻空闲区又有下邻空闲 2)归还区有上邻空闲区 3)归还区有下邻空闲区 4)归还区既无上邻空闲区又无下邻空闲区释放区下空闲区释放区上空闲区释放区上空闲区释放区下空闲区39 分区管理其他问题的讨论 关于虚存的实现 关于内容的扩充 关于地址变换和内存的保护40 分区管理其他问题的讨论 关于虚存的实现 关于内容的扩充 关于地址变换和内存的保护采用动态重定位的可变式分区管理技术,在执行内 存分配时,如无足够大空闲块

12、,应考虑实现紧凑操 作。41存储保护方法: 基址、限长寄存器保护设立一个限长寄存器,如:120k基址寄存器10k限长寄存器程序120k130k0D 10k D 逻辑地址 判别式:0逻辑地址限长寄存器5.3 覆盖和交换技术1、覆盖技术覆盖技术针对内存空间进行的,当内存空间有 限时,某些大的用户程序不能一次装入内存时 ,系统需要采用覆盖技术解决。 覆盖首先将大的用户程序划分为一个个相对独 立的程序单位,将程序执行时不需要同时装入 内存的程序单位组成覆盖段。 每个覆盖段分先后顺序进入到所分配的内存空 间。432、交换技术交换技术指先将内存某部分的程序或数 据写入外存交换区,再从外存交换区调 入指定的

13、程序或数据到内存中来,并让 其执行的一种内存扩充技术。 交换进程由换出和换入两个过程。2、交换技术所谓交换是指把内存中暂时暂时不能运行的进 程或者暂时不用的程序和数据,换出到外存上 ,以便腾出更多的内存空间,再把已具有运行 条件的进程或进程所需的程序和数据,换入内 存。 整体的交换:以整个进程为单位,这种交换被 广泛地应用与多道程序系统中,并作为处理机 的中级调度。 依然无法实现虚拟存储技术。46交换技术与覆盖技术共同点: 内外存之间进行信息交换 不同点:-如何控制交换。与覆盖技术相比,交换技术不要求用户给出程 序段之间的逻辑覆盖结构; 而且,交换发生在进程或作业之间,而覆盖发 生在同一进程或

14、作业内。回顾: 引入的原因: 1)连续分配碎片中“移动技术”付出系统开销 2)实现离散分配方式 3)提高主存的利用率5.4 静态分页式存储管理481、基本原理 1)作业空间被划分成若干长度相等的页 2)内容空间分成与页面大小相等的块492、主存分配与回收 1)数据结构页表页号块号 02 1850存储页面表 位示图 空闲页面链51请求表进程号 请求块数页表始址页表长度状态120102420已分配234104434未分配522)分配过程 3)回收过程 3、地址变换 1)逻辑地址结构位移量W页号P311211053542)地址变换554、对快表的地址变换565、页的共享与保护 1)页的共享使各自页表

15、中的有关表目指向共享信息 的主存块。 2)页的保护 地址越界 存储控制位576、分页式存储管理的特点: (1)内存存储器事先划分成相等尺寸的块,它是 进行存储分配的单位。 (2)用户作业的逻辑地址空间按照块的尺寸划分 成页。要注意的是,这种划分是在系统内部进 行的,用户感觉不到这种划分。 (3)由于逻辑地址空间中的页可以进入内存中的 任何一个空闲块,并且分页式管理实行的是动 态重定位,因此它打破了一个作业必须占据连 续存储空间的限制,作业在不连续的存储区里 ,也能够得到正确的运行。58 分页式存储管理的缺点: (1)平均每一个作业要浪费半页大小的存储 块。 (2)作业虽然可以不占据连续的存储区,但 是每次仍然要求一次全部进入内存,因 此,如果作业很大,其存储需求大于内 存,那么仍然在小内存不能运行大作业 的问题。595.5 静态分段式存储管理方式1、基本原理 (1)作业的地址空间被划分为若干个段,每 个段定义一组逻辑信息。 (2)每个段都从0开始编址,并采用一段连 续的地址空间。 (3)逻辑地址=段号s+段内地址w段内地址段号31 16 15 060612、分配和回收 (1)段表:记录每个段在内存

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号