操作系统概论第3章 存储管理

上传人:我*** 文档编号:137327060 上传时间:2020-07-07 格式:PPT 页数:104 大小:14.86MB
返回 下载 相关 举报
操作系统概论第3章 存储管理_第1页
第1页 / 共104页
操作系统概论第3章 存储管理_第2页
第2页 / 共104页
操作系统概论第3章 存储管理_第3页
第3页 / 共104页
操作系统概论第3章 存储管理_第4页
第4页 / 共104页
操作系统概论第3章 存储管理_第5页
第5页 / 共104页
点击查看更多>>
资源描述

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

1、第3章 存储管理,重点:各种管理方式下的地址转换;可变分区方式的主存分配算法以及移动技术;页式虚拟存储管理的实现以及页面调度算法,3.1计算机系统中的存储器,存储器的层次结构:,Register,Cache和主存,磁盘,处理机直接访问,I/O控制系统的管理,寄存器:最贵,最快,最小,每个只存储一个字长,只放临时的工作数据和控制信息 (指令寄存器, 通用寄存器,控制寄存器) 高速缓存Cache:少量的、快速、昂贵、易变,以字节为单位编址 内存RAM:若干兆字节、中等速度、中等价格、易变 磁盘:数百兆或数千兆字节、低速、价廉、不易变的,存储管理概述,内存的作用 为什么需要存储管理? 帕金森定律:你

2、给程序再多内存,程序也会想尽办法耗光,内存管理概述,由存储单元(字节或字)组成的一维连续地址空间,用来存放当前正在运行的程序的代码或数据,是程序中指令本身(程序计数器)所指向的存储空间,内存管理的目的,操作系统的“方便”性 便于用户装入程序,无须了解底层细节 可实现动态的存储空间伸缩,适应不同程序的需要 操作系统的“合理”性 合理分配内存空间,保证多道程序的顺利运行 合理保护内存空间,防止各种可能的破坏泄漏 操作系统的“有效性” 有效保持内存空间的可用性,防止对资源的浪费 有效实现“小空间大容量”,提高计算机的适应性 有效配合CPU的调度过程,实现系统运行的稳定,内存管理概述,内存管理的任务,

3、内存空间的管理、分配和回收 内存空间的使用情况记录位图、分配表、分区表 内存空间的分配与回收定长与不定长、静态与动态 内存空间的地址映射(转换) 物理地址与逻辑地址的差别 内存空间的共享和保护 内存共享 内存保护:如何防止地址越界或操作越权? 内存空间的扩充 虚拟存储:如何使用小内存空间来运行大的程序?,3.2 重定位3.2.1 绝对地址和逻辑地址,(1) 逻辑地址(相对地址,虚地址) (2) 物理地址(绝对地址,实地址) (3) 地址映射(重定位),逻辑地址(相对地址,虚地址),用户的程序经过汇编或编译后形成目标代码,目标代码通常采用相对地址的形式,其首地址为0,其余指令中的地址都相对于首地

4、址而编址 不能用逻辑地址在内存中读取信息,物理地址(绝对地址,实地址) 内存中存储单元的地址,可直接寻址 以字节为单位进行编址,3.2.2 重定位,为了保证CPU执行指令时可正确访问存储单元,需将用户程序中的逻辑地址转换为运行时由机器直接寻址的物理地址,这一过程称为重定位,原因: 当程序装入内存时, 操作系统要为该程序分配一个合适的内存空间,由于程序的逻辑地址与分配到内存物理地址不一致, 而CPU执行指令时,是按物理地址进行的,所以要进行地址转换,静态重定位,当用户程序被装入内存时,一次性实现逻辑地址到物理地址的转换,以后不再转换(一般在连接装配时由软件完成),在作业装入过程中随即进行的地址变

5、换方式称为静态重定位或静态地址映射,动态重定位,在程序运行过程中要访问数据时再进行地址变换(即在逐条指令执行时完成地址映射。一般为了提高效率,此工作由硬件地址映射机制来完成。硬件支持,软硬件结合完成) 硬件上需要一对寄存器的支持,在程序执行期间,随着每条指令和数据的访问自动地连续地进行地址映射,静态地址映射 动态地址映射 在作业装入过程中 在程序执行期间 进行地址映射 进行地址映射 需软件 需硬件地址变换机构 重定位装入程序 重定位寄存器 需花费较多CPU时间 地址变换快 不灵活 灵活,静态地址映射与动态地址映射的区别,3.3 单用户连续存储管理,单用户系统在一段时间内,只有一个进程在内存,故

6、内存分配管理十分简单,内存利用率低 内存分为两个区域,一个供操作系统使用,一个供用户使用 单道运行的计算机系统 存储保护:界限寄存器 分时系统:对换方式 静态定位方式,单用户连续存储管理(cont.),最简单的管理方式(只有分配与回收) 操作系统和用户程序共享RAM 除了嵌入式系统外,其他的计算机不再使用这种方式,内存管理概述,早期大型机使用的内存管理方式,少数掌上电脑和嵌入式系统使用的内存管理方式,早期PC使用的内存管理方式(MS-DOS),3.4 固定分区存储管理方案,系统把内存用户区划分为若干分区,分区大小可以相等,也可以不等。一个进程占据一个分区 固定分区 可变分区,每个分区的大小可以

7、相同也可以不同,但分区个数固定不变 每个分区装一个且只能装一个作业 存储分配:如果有一个空闲区, 则分配给进程,固定分区,固定分区存储管理的问题,如何实现内存的分配与回收? 已知内存分区数为N,已知进程数为M,如何分配内存? 关于回收:OS维护的内存分区表中应该有哪些信息? 内存地址映射与存储保护 重定位问题与保护:物理地址和逻辑地址的映射关系 内存空间的扩充,提高主存空间利用率 使用固定分区的形式可以实现内存的扩充吗?,3.4.1 主存空间的分配和回收,如何知道那个分区被占用,那个空闲 分区分配表:说明各区的分配和使用情况 分区分配表 分区号,起始位置,长度,占用标志 内存的分配和回收 修改

8、标志位,3.4.2 地址转换和存储保护,地址转换:静态重定位(在调入内存时直接修改指令) 存储保护: 引入界限寄存器(下限寄存器,上限寄存器) 下限寄存器=绝对地址上限寄存器,3.4.3 如何提高主存空间的利用率,每个作业占用一个分区,且只占用一部分 提高主存利用率: 根据经常出现的作业的大小和数量来划分分区 划分分区时,按分区的大小顺序排列.找到一个能满足作业要求的最小空闲分区分配给作业. 按作业对主存要求排成多个队列:能有效防止小作业进入大分区,划分分区的注意事项,可能出现的作业大小 作业频率 划分不当:某个作业队列长期为空,影响分区的使用效率,3.5 可变分区存储管理,基本思想: 内存不

9、是预先划分好的 作业装入时,根据作业的需求和内存空间的使用情况来决定是否分配 若有足够的空间,则按需要分割一部分分区给该进程;否则令其等待内存空间 - 分区的长度不是预先确定的,按需划分 - 分区的个数也不是预先确定的,是由装入的作业数决定的,内存的分配 根据作业对主存的需要量,从空闲区划出一个与作业一致长度的分区来装入作业,剩余部分认为空闲区 当空闲区能满足需求时,作业可装入;超过,作业暂时不能转入,3.5.1 主存空间的分配和回收,内存的回收: 当作业结束时,它的占用分区被收回。这个空闲区又可以根据新作业的大小重新用于分配,所以主存中的已占分区和空闲区的数目和大小都是在变化的 可以用 “空

10、闲区表”来记录和管理:记录空闲区的起始地址和长度,20KB,0,os 作业1 作业2 作业3 作业4,52KB,66KB,130KB,230KB,256KB1,主存,分区的分配与回收 1. 分区分配 用户请求分配一个主存块 分区分配程序在空闲块队列中找一个满足用户需要的空闲块; 若找到,以空闲块与请求的主存块大小之间的关系进行相应的处理,并返回所分配区域的首址; 否则,告之不能满足要求,主存分配策略 首次匹配(最先适应分配算法) 最佳匹配(最优适应分配算法) 最坏匹配(最坏适应分配算法),首次适应算法 (1) 什么是首次适应算法 首次适应算法是将输入的作业放置到主存里第一个足够装入它的可利用的

11、空闲区中 (2) 特点 空闲区地址由低到高排序 尽可能地利用存储器中低地址的空闲区,而尽量保存高地址的空闲区,最佳适应算法 (1) 什么是最佳适应算法 最佳适应算法是将输入的作业放置到主存中与它所需大小最接近的空闲区中 (2) 特点 空闲区大小由小到大排序 尽可能地利用存储器中小的空闲区,而尽量保存大的空闲区,最坏适应算法 (1) 什么是最坏适应算法 最坏适应算法是将输入的作业放置到主存中最不适合它的空闲区中 (3) 特点 空闲区大小由大到小排序 尽可能地利用存储器中大的空闲区,2. 分区回收 回收主存块的四种情况, 回收分区r 上邻空闲区,r与 f1 合并 成为一个大的空闲区f1, 回收分区

12、r 下邻空闲区,r与 f2 合并 成为一个大的空闲区f2,作业1,f2,r,作业1,f2,S,S+L,S,S, 回收分区r 上、下邻空闲区,r与 f1 、 f1 合并 成为一个大的空闲区f1, 回收分区r 上、下邻分配区,r 成为一个 新的空闲区 f,3.5.2 地址转换和存储保护,采用动态重定位方式装入作业,也就是每读一条指令,都要变换一次地址 变换要靠硬件支持,主要是两个寄存器:基址寄存器,限长寄存器以及加法线路,比较线路 基址寄存器则存放作业所占分区的起始地址,限长寄存器存放作业所占分区的最大地址,这两个值确定了一个分区的位置和大小 P49 图313,存储保护,转换时根据将逻辑地址加上基

13、址寄存器中的值就得到了绝对地址 基址寄存器内容绝对地址限长寄存器内容 满足上式,表示访问地址合法,否则形成“地址越界”中断,达到存储保护的目的 中断时,基址/限长寄存器内容PCB,3.5.3 移动技术,可变分区的存储方式采用动态定位方式装入作业,作业可以根据需要改变位置 把作业从一个存储区域移动到另一个存储区域的工作移动 目的: 集中分散的空闲区(碎片问题) 便于作业动态扩充主存,移动技术注意事项,移动会增加系统开销。所以要尽量减少移动 移动作业的信息传送 修改PCB中分区的始址和末址,空闲区表 移动是有条件的,如果作业在执行过程中正等待与外围设备传输信息,就不能移动。因此在移动时首先要判定该

14、作业是否与外设交换信息 可采用改变作业装入主存的方式达到减少 移动的目的,1、早期的单用户操作系统是()存储管理功能 2、存储管理是对主存的()区域进行管理 3、存储管理的目的是() 4、地址转换的工作是将() 5、动态重定位是需要由()来实现 6、经过(),目标程序可以不经过修改而装入物理内存单元 7、固定分区存储管理中,每个分区的大小是() 8、碎片是指(),碎片的存在使得() 9、最容易形成碎片的可变分区分配算法是() 10、可变分区管理主存时()程序在主存中不能移动,3.6 页式虚拟存储管理,问题的提出: 彻底解决碎片问题,提高主存的利用率 解决必须连续分配的问题 能否在较小的主存空间

15、运行较大的作业,3.6.1 页式存储管理的基本原理,问题1:彻底解决碎片问题,提高主存的利用率 碎片问题: 可变分区存储管理按照作业对存储的需求量进行分区的划分,因此它不出现内部碎片。但由此会招致某些分区过小而无法满足作业存储请求的情形,从而产生外部碎片。在那里,解决外部碎片的办法是通过移动作业对空闲分区进行合并。这不仅不方便,还增加了系统的开销,分页存储管理基本思想,首先把整个内存储器划分成大小相等的许多分区,每个分区称为“块” 这表明它具有固定分区的管理思想,只是这里的分区是定长罢了。比如把内存储器划分n个分区,编号为0,1,2,n-1。 块是一个物理概念,基本思想,用户作业仍然相对于“0

16、”进行编址,形成一个连续的相对地址空间 操作系统接受用户的相对地址空间,然后按照内存块的尺寸对该空间进行划分 用户程序相对地址空间中的每一个分区被称为“页”,编号从0开始,第0页、第1页、第2页、 页是一个逻辑概念,内存储器总的容量为256KB,操作系统要求20KB。若块的尺寸为4KB,则共有64块,操作系统占用前5块,其他分配给用户使用。在分页式存储管理中,块是存储分配的单位 作业A的相对地址空间大小为11KB。按照4KB来划分,它有2页多不到3页大小,但把它作为3页来对待,编号为第0页、第1页和第2页。,地址结构 14 10 9 0 地址结构确定了主存的分块大小,也就决定了页面的大小 页号5位: 逻辑地址中可有32页,编号031; 页内地址10位:每一页有1024个字节,编号01023 逻辑地

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

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

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