操作系统2002--存储管理(1)剖析

上传人:今*** 文档编号:106808624 上传时间:2019-10-16 格式:PPT 页数:68 大小:368.50KB
返回 下载 相关 举报
操作系统2002--存储管理(1)剖析_第1页
第1页 / 共68页
操作系统2002--存储管理(1)剖析_第2页
第2页 / 共68页
操作系统2002--存储管理(1)剖析_第3页
第3页 / 共68页
操作系统2002--存储管理(1)剖析_第4页
第4页 / 共68页
操作系统2002--存储管理(1)剖析_第5页
第5页 / 共68页
点击查看更多>>
资源描述

《操作系统2002--存储管理(1)剖析》由会员分享,可在线阅读,更多相关《操作系统2002--存储管理(1)剖析(68页珍藏版)》请在金锄头文库上搜索。

1、基本概念 单个分区的存储管理 多个分区的存储管理 分页式存储管理 分段式存储管理 虚拟存储管理,存储管理,一、基本概念,内存储器(简称内存、主存、物理存储器) 处理机能直接访问的存储器。用来存放系统和用户的程序和数据,其特点是存取速度快,存储方式是以新换旧,断电信息丢失。 外存储器(简称外存、辅助存储器) 处理机不能直接访问的存储器。用来存放用户的各种信息,存取速度相对内存而言要慢得多,但它可用来长期保存用户信息。在文件系统中介绍。,存储器分类,指导思想:利用辅存(如磁盘、磁带等)提供的大容量存储空间,存放准备运行的程序和数据,当需要时或主存空间允许时,随时将它们读入主存储器。,信息的二级存储

2、,CPU,主 存,辅 存 磁 盘 磁 带,存储器的层次结构,通用寄存器,高速缓存,主存,硬盘,大容量存储器,存储容量增大,单位容量的价格增加,存储管理,内存的物理组织,物理地址: 把内存分成若干个大小相等的存储单元,每个单元给一个编号,这个编号称为内存地址(物理地址、绝对地址、实地址),存储单元占8位,称作字节(byte)。 物理地址空间: 物理地址的集合称为物理地址空间(主存地址空间),它是一个一维的线性空间。,程序的逻辑结构,程序地址:用户编程序时所用的地址(或称逻辑地址 、虚地址 ),基本单位可与内存的基本单位相同,也可以不相同。 程序地址空间(逻辑地址空间、虚地址空间):用户的程序地址

3、的集合称为逻辑地址空间,它的编址总是从0开始的,可以是一维线性空间,也可以是多维空间。,存储管理的功能,主存空间的分配和回收:一个有效的存储分配机制,应在用户提出需求时提供快速响应,为之分配相应的的存储空间;在用户作业不再需要它时,及时回收,以供其它用户使用,地址转换:存储管理必须能够配合硬件完成用户程序中所使用的逻辑地址到程序实际执行时所使用的物理地址之间的转换工作,以保证处理器的正确执行。,主存空间的扩充:借助虚拟存储技术或其它交换技术,达到在逻辑上扩充主存容量,亦即为用户提供主存物理空间大得多的地址空间,以至使得用户感觉他的作业是在这样一个大的存储器中运行。,主存空间的共享和保护:共享主

4、存指的是多个作业共同使用主存中的某个区域,以提高主存利用率。主存的保护指的是确保多道程序都能在各自分配到的主存区域内工作,互不干扰,防止一道程序破坏其它作业的信息,特别要防止破坏系统程序。,重定位,绝对地址:主存中每个物理存储单元的编号称为“绝对地址”或“物理地址”,它们可以被存储控制部件所识别。 逻辑地址:源程序经编译后得到的目标程序总是以0为起始地址,其它地址都是以此顺序安排下来,都是相对于0这个起始地址的,这种地址称为“逻辑地址”。 名空间:我们把再一个用高级语言编写得源程序中由程序员建立得符号名字空间称为“名空间”。,地址空间:把源程序经编译后得到的目标程序所限定的地址范围称为这个程序

5、的“地址空间”。 存储空间:主存中一系列物理单元的集合称为存储空间。 显然,地址空间是逻辑地址的集合,存储空间是绝对地址或物理地址的集合,一个是逻辑的概念,一个是物理的实体。,重定位:一个作业的逻辑地址向物理地址的转换,称为重定位(也称为地址映射)。 编程或编译时确定地址映射关系:编程时确定虚实地址的关系是指在用机器指令编程时,程序员直接按物理内存地址编程,这种程序在系统中是不能做任何移动的,否则就会出错。 静态重定位: 地址变换过程发生在程序装入时,且由重定位装入程序完成。采用这种重定位方式时,系统的存储分配只能采用静态分配策略。 动态重定位:地址变换过程发生在程序执行过程中访问每条指令和数

6、据时连续进行,且由硬件重定位机构来实现。采用这种重定位方式时,系统的存储分配可以采用动态分配策略。,LOAD 1, 500,12345,LOAD 1, 5500,12345,0,100,500,700,0,5000,5100,5500,5700,静态重定位,动态重定位,在装入作业时,不进行地址转换,而是直接把作业装入到分配的主存区域中。在作业执行过程中,每当执行一条指令时,都由硬件的地址转换机构将指令中的逻辑地址转换成物理地址,地址转换工作是在作业执行时完成的。,存储保护,在多道程序设计的环境下,系统中有系统程序和多个用户程序同时存在,如何保证用户程序不破坏系统程序,用户程序之间不相互干扰?这

7、就是存储保护所要解决的问题 常用的存储保护有两种: 上、下界寄存器保护 基址、限长寄存器保护,上下界寄存器保护,下界寄存器 存放程序装入内存后的开始地址(首址) 上界寄存器 存放程序装入内存后的末地址 判别式: 下界寄存器 物理地址 上界寄存器,例题: 有一程序装入内存的首地址是500,末地址是1500,访问内存的逻辑地址是500、345、1000。 下界寄存器:500 上界寄存器:1500 逻辑地址装入内存的首地 物理地址,1、500500 1000 500 1000 1500 2、345500 845 500 845 1500 3、1000500 1500 500 1500 1500,二、

8、一个分区的存储管理,采用静态分配和静态重定位方式。,OS常住部分,用户程序,空闲区,fence,覆盖,所谓覆盖是指一个作业的若干程序段(或数据段)间或几个作业的某些部分间共享某主存空间。覆盖技术要求程序员提供一个清楚的覆盖结构,即程序员要把一个程序划分成不同的程序段,并规定好它们的执行和覆盖的次序。操作系统则根据程序员提供的覆盖结构,完成程序段之间的覆盖。,A (20k),C (30k),F (30k),程序结构,B (50k),D (20k),E (40k),0,20k,50k,70k,90k,100k,A,B,C,D,E,F,0,20k,20k,70k,70k,100k,20k,50k,5

9、0k,70k,50k,90k,程序的覆盖结构,交换,交换方式是由操作系统把那些在内存中处于等待状态的进程换出内存,而把那些处于就绪状态的进程换入内存,操作系统,用户区,进程 P1,进程 P2,换出,换入,三、多个分区的存储管理,固定分区,固定分区管理方式是预先把可分配的主存空间分割成若干个连续区域,每个区域的大小可以相同,也可以不同。一旦分好,则每个分区的大小固定,不再变化,且分区的个数也不再改变。,固定分区 可变分区 可重定位分区,作 业 1,作 业 2,作 业 3,操作系统,分区1,分区2,分区3,CPU,当前运行作 业所在分区,2,b,c,上限寄存器,下限寄存器,a,b,c,d,OS常住

10、部分,J1,J2,J3,0,32k,48k,16k,80k,144k,256k,32k,64k,112k,固定分区顺序分配的算法流程,是,查看分区表 的第I个表目,已分配?,分区长度xk,I为分区表最 后一个表目,置表目中 状态位为1,装入作业J,无法分配,作业J等待,是,作业J申请xk主存,否,是,否,I = 0,I = I + 1,否,地址转换:可采用静态重定位方式,存储保护措施:,CPU,下界,上界,内存,寻址错,寻址错,地址,是,是,否,否,采用固定分区方式的问题:主存利用率不高。改进的方法: 划分分区时按分区的大小顺序排列。 根据经常出现的作业的大小和频率划分分区。 按作业对主存的需

11、求量排成多个作业。,可变分区,所谓可变分区是指,系统并不预先划分几个固定分区。分区的建立是在作业的处理过程中进行的,其大小随作业的主存需求量而决定。在这种管理方式下,系统中任一时刻分区的大小及个数,都是不固定而可改变的。,可变分区管理的数据结构,操作系统,J1,J3,400k,0,1000k,2000k,2300k,2560k,已分配区表,空闲区表,分区的分配算法,最优适应算法:将空闲分区按其存储空间的大小,从小到大顺序组成链。每次查找从链首开始,第一个满足要求的空闲分区将被分配 最坏适应算法:空闲分区按其空间大小,从大到小组成链。每次查找从链首开始,第一个满足要求的空闲分区将被分配 最先适应

12、算法:空闲分区按其在存储空间中的地址,以递增顺序组成链。每次查找从链首开始,第一个满足要求的空闲分区将被分配 下次适应算法:是最先适应算法的一种改进。空闲分区的链接顺序同最先适应算法,但它是一个循环链。每次为存储请求查找合适的空闲分区时,总是从上次查找结束的地方开始。,空闲分区1,空闲分区2,free,空闲分区n,按分区的大小从小到大链接,空闲分区1,空闲分区2,free,空闲分区n,按分区的大小从大到小链接,最优适应算法,最坏适应算法,空闲分区1,空闲分区2,free,空闲分区n,按分区的地址从低到高链接,空闲分区1,空闲分区2,free,空闲分区n,按分区的地址从低到高链接,最先适应算法,

13、下次适应算法,分区的回收,a 回收区下面 邻接空闲区,b 回收区上面 邻接空闲区,c 回收区上、下邻接空闲区,d 回收区不邻接任何空闲区,回收区,使用区,空闲区,地址转换:一般可采用动态重定位方式,基址寄存器的内容加上逻辑地址(相对地址)就可得到绝对地址(物理地址)。,存储保护:将逻辑地址(相对地址)与限长寄存器的内容进行比较,如逻辑地址(相对地址)大于限长寄存器的值,表明地址越界。,例题:在可变分区管理中,有那些分区分配算法?各有何优缺点? 最优适应算法 空闲分区按空间大小的顺序从小到大链接在一起。系统在查找空闲分区时,总是从最小的一个开始。其实质是,在系统中寻找与要求大小最接近的空闲分区。

14、 优点:如果存在有在正好满足所要求大小的空闲分区,则必然被选中,或者只对比要求稍大的空闲分区进行划分,而绝不会划分一个更大的空闲分区。 缺点:寻找一个较大空闲区时花费的时间较多;回收时把回收的空闲区插入到链中合适的位置较为费时;系统中,小的空闲区较多。 最坏适应算法 空闲分区按空间大小的顺序从大到小链接在一起。系统在查找空闲分区时,总是从最大的一个开始。 优点:克服了最优适应算法留下许多小的碎片的不足 缺点:保留大的空闲区的可能性减小了,而且分区的回收也和最优适应算法一样复杂。,最先适应算法 空闲分区按其在内存中位置的顺序从低地址到高地址链接在一起,即每个后继空闲区的起始地址总是比前面的大。系

15、统在查找空闲分区时,按照空闲区的链的顺序,依次查询,直到找到第一个满足要求的空闲区为止。其实质是,尽可能利用存储器的低地址部分,尽量保存高地址部分的空闲区。 优点:当需要一个较大的分区时,容易得到满足。 缺点:在回收一个分区时,需要花费较多的时间查找链表,以确定插入位置。 下次适应算法 空闲分区按其在内存中位置的顺序从低地址到高地址链接在一起,与最先适应算法不同的是,每次查找都是从上次查找结束的位置开始。其实质是,空闲分区可以比较均匀的分布在内存中。 缺点:寻找一个较大空闲区时花费的时间较多;回收时把回收的空闲区插入到链中合适的位置较为费时。,例题:对下图所示的分区分配情况(其中,阴影部分表示

16、已占用分区,空白部分表示空闲分区),若要申请一块40KB的分区:, 对于最优适应分配算法得到的空闲分区的首地址是 : A、110KB B、190BK C、330BK D、410BK 若要使被分配得到的空闲分区的首地址最大,则应采取的分配策略是 : A、最先适应分配算法 B、最优适应分配算法 C、最坏适应分配算法 D、单一连续区的分配算法,100KB,0KB,100KB,80KB,10KB,90KB,50KB,60KB,100KB,180KB,190KB,280KB,330KB,390KB,20KB,101KB,410KB,511KB,60KB,FREE,80KB,90KB,101KB,最优适应分配算法得到的空闲分区的首

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

当前位置:首页 > 高等教育 > 大学课件

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