电脑操作系统课件

上传人:ji****n 文档编号:54451229 上传时间:2018-09-13 格式:PPT 页数:150 大小:803.50KB
返回 下载 相关 举报
电脑操作系统课件_第1页
第1页 / 共150页
电脑操作系统课件_第2页
第2页 / 共150页
电脑操作系统课件_第3页
第3页 / 共150页
电脑操作系统课件_第4页
第4页 / 共150页
电脑操作系统课件_第5页
第5页 / 共150页
点击查看更多>>
资源描述

《电脑操作系统课件》由会员分享,可在线阅读,更多相关《电脑操作系统课件(150页珍藏版)》请在金锄头文库上搜索。

1、1,第五章 存储管理,学习重点和难点: 1 存储管理的基本概念 2 各种存储管理的基本思想、实现方法和技术 3 地址空间和物理空间的区别 4 虚拟存储器的概念和方法 5 请求分页,2,5.1 存储管理的功能 一.存储器,存储器,主存(内部存储器),辅存 (外存)磁盘、 磁带、软盘,处理机能直接访问的存储器。用来存放系统和用户的程序和数据,其特点是存取速度快,存储方式是以新换旧,断电信息丢失。,处理机不能直接访问的存储器。用来存放用户的各种信息,存取速度相对内存而言要慢得多,但它可用来长期保存用户信息。在文件系统中介绍。,3,主存,系统区 (OS标准子程序),用户区 (用户程序、数据),主存储器

2、的物理组织,多级存储器,高速 缓存,主存,外存,4,物理地址:把内存分成若干个大小相等的存储单元,每个单元给一个编号,这个编号称为内存地址(物理地址、绝对地址、实地址),存储单元占8位,称作字节(byte)。 物理地址空间:物理地址的集合称为物理地址空间(主存地址空间),它是一个一维的线性空间。,主存储器的物理组织,5,存储层次结构,内存:DRAM, SDRAM等; 外存:软盘、硬盘、光盘、磁带等;,6,二地址变换1.存储空间 地址空间一个目标程序所限定的地址范围 逻辑地址(相对地址)程序用来访问信息 所用的一系列的地址单元。 物理地址(绝对地址)主存中一系列存储物理单元。 地址空间是逻辑地址

3、的集合。存储空间是物理地址的集合。一个是虚的概念,一个是实的物体。,7,2.重定位 当一个地址装入与其地址空间不一致的存储空间中,就得要地址变换。也就是说将虚地址映射为内存地址,把这种作法叫做地址重定位(1) 静态地址重定位在装入一个作业时,把作业中的指令地址全部转换为绝对地址(地址转换工作是在作业执行前集中一次完成的)在作业执行过程中就无须再进行地址转换工作。,8,2动态地址重定位:动态地址重地位是在程序执行过程中,在CPU访问内存之前,将要访问的程序或数据地址转换成内存地址. 动态重定位依靠硬件地址变换机构完成。,+,1500,0,100,500,虚拟空间(作业地址空间),内存空间,VR,

4、BR,9,地址重定位机构需要一个或多个基地址寄存器BR和一个或多个程序虚地址寄存器VR。指令或数据的内存地址MA与虚地址的关系为:MA=(BR)+(VR)其中,(x)表示寄存器x中的内容,10,三.虚拟存储器什么是虚拟存储器?虚拟存储器是一种存储管理技术,用以完成用小的内存实现在大的虚拟空间中程序的运行工作。为了给大作业用户提供方便,使它们摆脱对主存和辅存的分配和管理问题,由操作系统把多级存储器统一管理起来,实现自动覆盖。即一个大作业在执行时, 其一部分地址空间在主存,另一部分在辅存.因此,从效果来看,这样的系统,好象用户提供了存储容量比实际主存大得多的存储器,人们称这样的存储器为虚拟存储器。

5、之所以称它为虚拟存储器,因为这样的存储器实际上并不存在而只是系统增加自动覆盖功能,给用户造成的一种幻觉,仿佛它有一个很大的主存供它使用。这是虚拟存储器的最初概念。,11,这种想法的核心,实质上也就是把作业的地址空间和实际主存的存储空间似为两个不同的概念.一个计算机系统给编程人员提供了一个多大的地址空间,它就所在这个地址空间编制程序,而完全用不着考虑实际主存的大小.换句话说, 虚拟存储器就是一个地址空间.一个虚存储器的最大容量是由计算机的地址结构确定的.若CPU给出的有效地址长度为18位,可以寻址范围为:0-256k;若地址的长度为为20位,则寻址范围为:1024k.实际虚拟存储器其一是要相当容

6、量的辅存,足以存放所有并列作业的地址空间.其二是要有一定的主存,因为处理机上运行的作业,必须有一定的信息在主存中.其三是地址变换机构.,12,四.内外存的数据交换要实现内存扩充,在程序执行过程中,内存和外存之间必须经常地交换数据。最基本的控制数据流动的方式有:用户程序自己控制方式,典型的例子是覆盖。覆盖管理的目标是逻辑扩充内存,以缓解大作业和小内存之间的矛盾。覆盖技术要求用户清楚地了解程序的结构,并指定各程序段调入内存的先后次序,它是一种早期的主存扩充的方式,不能实现虚拟存储器。,13,操作系统控制方式,又可进一步分为交换方式、请求调入方式预调入方式。交换技术的基本目的也是为了缓解内存不够大的

7、矛盾。它利用外存空间(进程交换区),通过对进程实体的整体交换,来满足用户进程的内存需要,实现多道程序的运行。它的主要特点是打破了进程运行的驻留性请求调入方式是在程序执行时,如果所要访问的程序段或数据段不在内存,则操作系统自动地从外存将有关的程序段和数据段调入内存。预调入则是由操作系统预测在不远的将来会访问到的那些程序段和数据段部分,并在它们被访问之前系统选择适当的时机将它们调入内存。,14,五.内存的分配和回收为了有效合理地利用内存,设计内存的分配和回收方法时,必须考虑和确定以下几种策略和数据结构: 1 分配结构;登记内存的使用情况,供分配程序使用的表格和链表。 2 放置策略;确定调入内存的程

8、序和数据在内存中的位置。,15,3 交换策略;在需要将某个程序段和数据调入内存时如果内存没有足够的空闲区,由交换策略来确定把内存中的哪些程序段和数据段调出内存,以便腾出足够的空间。 4 调入策略;外存中的程序段和数据段什么时间按什么样的控制方式进入内存。 5 回收策略;回收时机,以及对所回收的内存空闲区和以存在的内存空闲区的调整。,16,六.内存信息的共享和保护常用的内存信息保护方法有硬件法、软件法和软硬件结合三种。 1 上下界保护法:是一种常用的硬件保护法。 2 保护键法。 3 界限寄存器与CPU的用户态或核心态工作方式相结合的保护方式。,17,上界寄存器 存放程序装入内存后的开始地址(首址

9、) 下界寄存器 存放程序装入内存后的末地址 判别式: 上界寄存器 物理地址 下界寄存器,上下界保护,18,例:有一程序装入内存的首地址是500,末地址是1500,访问内存的逻辑地址是500、345、1200。 上界寄存器:500 下界寄存器:1500逻辑地址装入内存的首地 物理地址1、500500 1000 500 1000 15002、345500 845 500 845 15003、1200500 1700 500 1700 1500,上下界保护,19, 2 ,当前程序状态字,2K,4K,6K,0,R,2,W,W,正确访问 LOAD 1 5000 非读保护 STORE 2 5200 开关字

10、-键匹配 非正确访问 LOAD 1 2500 出错,开关字-键不匹配,保护键保护法,20,5.2 分区存储管理5.2.1 分区管理基本原理1.固定分区法固定分区把主存分成若干个固定大小的存储区。,OS,20K,28K,60K,124K,256K,进程A(6K),进程B(25K),进程C(36K),21,2.动态分区法因为固定分区主存利用率不高,使用起来不灵活,所以出现了可变分区的管理技术。动态分区原则:存储空间的划分是在装作业时进行的。从可用的自由存储空间内,划出一个大小正好等于作业大小的存储区,并分配给这一作业。,OS,进程A,进程B,进程C,进程D,OS,进程A,进程B,进程C,OS,进程

11、A,进程B,OS,进程A,22,进程E(50K),进程F(16K),进入内存,进程B(16K),进程D(124K),完成,内存分配变化过程,23,5.2.2分区的分配与回收1.固定分区时的分配与回收当用户要程序装入执行时,通过请求表提出内存分配要求和所要求的内存空间大小.到可用空间表中找,若大于等于的空间,就分配,若小于,不让它进入主存。,2. 动态分区时的分配与回收对于请求表中要求内存长度,从可用表和自由 链中找出合适的空闲区。分配空间区之后,更新可用表或自由链。进程或作业释放内存资源时,和相邻的空间区进行链合并,更新可用表或自由链。,24,要求Xk大小分区,取分区说明表第一项,状态位置正在

12、使用,取下一表项,无法分配,该分区空闲?,分区长度Xk?,表结束?,返回分区号,否,否,否,是,是,是,固定分区分配算法,25,3. 分配算法 最先适应法:按照某种次序依次检查各个空闲区,把第一个找到能容纳申请要求的内存区分配给申请者.空闲闲区按地址顺序从小到大登记。(附图) 最佳适应算法:按照某一从小到大次序依次检查所有的空闲区,把能容纳申请要求的一个最接近尺寸且大于或等于作业大小的分区给申请的作业。,26,最坏适应算法求空闲区按其大小递减的顺序组成空闲区可用表或自由链当用户作业或进程申请一个空闲区时,先检查空闲区可用表或自由链的第一个空闲可用区的大小是否大于或等于所要求的内存长度,若可用表

13、或自由链的第一个项所有空闲区长度小于申请,则失败,否则从空闲区可用表或自由链分配相应的空间给用户,然后修改和调整空闲区可用表或自由链。,27,从该空闲区中截取所需 大小,修改调整可用表,从空闲区表第一 表目顺序查找,从可用表中移去该 表目,调整可用表,取下一表项,无法分配,该 空闲区 长度SIZE?,该 空闲区 长度=SIZE?,表目查完?,返回分配起始地址,否,否,否,是,是,是,最先适应算法,28,几种分配算法的比较: 从搜索速度上看,FF具有最佳性能。 从回收过程上看,FF具有最佳性能。 BF找到的空闲区是最佳的,但在某些情况下,不一定能提高内存的利用率。 WF是基于不留下碎片空闲区为出

14、发点,选择最大的空闲区来满足用户的需求,以期分配后剩余的部分仍能再分配。,29,系统回收分区的主要步骤:1 检查回收分区是否与空闲区邻接,如邻接则加以合并;2 修改说明表 (邻接情况有四种) 释放区邻接的分区情况可能是:释放区邻接的是另一进程的已分配区,或者是空闲区。下面以最先适应算法说明了系统回收该进程占用区存在的四种可能情况。设进程的释放区为R,与R相近的两个空闲区分别为F1和F2。R的首地址送LOC,R的尾地址送LOC1,R的大小送SIZE。,30,(a)若释放区R与F1相邻接,即其低地址部分邻接一空闲区。将R与F1合并,合并后的空闲区仍记为F1。,空闲区 F1,进程 P,低地址 高地址,占用区2,低地址 高地址,占用区2,空闲区 F1,(a)合并后,31,如何判断释放区R 是否与某个空闲区相邻接呢?只要从链首开始查找即可:若F1的首地址+F1的大小=R的首地址,说明R与F1相邻接。只要修改F1的大小= F1的大小+ SIZE ,其它参数不变和在链中的位置不变。(b)若释放区R与F2相邻接,即其高地址部分邻接一空闲区。将R与F2合并,合并后的空闲区记仍记为F2。判断释放区R 是否与F2空闲区相邻,只要从链首开始查找。,

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

当前位置:首页 > 中学教育 > 初中教育

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