操作系统原理 第七章 实存储管理技术

上传人:wm****3 文档编号:56882368 上传时间:2018-10-16 格式:PPT 页数:99 大小:1.06MB
返回 下载 相关 举报
操作系统原理 第七章 实存储管理技术_第1页
第1页 / 共99页
操作系统原理 第七章 实存储管理技术_第2页
第2页 / 共99页
操作系统原理 第七章 实存储管理技术_第3页
第3页 / 共99页
操作系统原理 第七章 实存储管理技术_第4页
第4页 / 共99页
操作系统原理 第七章 实存储管理技术_第5页
第5页 / 共99页
点击查看更多>>
资源描述

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

1、第七章 实存储管理技术,存储器是重要的计算机资源,内存管理是操作系统的主要功能之一。 内存容量是计算机硬件资源中关键而又最紧张的,特别在多道程序设计出现后,要求内存能得到充分有效的利用,为用户提供安全方便的使用环境,这都是操作系统的内存管理要解决的问题。,第七章 实存储管理技术,教学目标: 1、熟悉存储管理的基本概念和分类 2、了解连续存储的方法和特点 3、掌握分页存储的原理 4、掌握分段存储的原理 5、掌握段页存储的原理,第七章 实存储管理技术,主要内容: 7.1 存储管理的基本概念 7.2 连续分配存储管理方式 7.3 离散分配存储管理方式,7.1 存储管理的基本概念,存储体系 :一个速度

2、由快到慢,容量由小到大的存储层次. 快速缓存:cache 内存:DRAM, SDRAM等; 外存:软盘、硬盘、光盘、磁带等;,7.1.1 存储管理要解决的问题,存储分配:当用户需要内存时,系统为之分配相应的存储空间;不需要时,及时回收,以供其它用户使用。地址映射:从逻辑地址到物理地址的变换,7.1.1 存储管理要解决的问题,存储保护:确保多道程序都在各自分配到存储区域内操作,互不干扰,防止一道程序破坏其它作业或系统文件的信息。内存扩充:为用户提供比主存物理空间大得多的地址空间,以至使用户感觉他的作业是在这样一个大的存储器中运行,7.1.3 地址重定位,1、地址空间和存储空间 名字空间:程序中由

3、符号名组成的空间,没有地址的概念,由程序员自定义,7.1.3 地址重定位, 逻辑地址(相对地址,虚地址) :用户的程序经过汇编或编译后形成目标代码,目标代码通常采用相对地址的形式,其首地址为0,其余指令中的地址都相对于首地址而编址。不能用逻辑地址在内存中读取信息 地址空间(相对地址空间)逻辑地址的集合,7.1.3 地址重定位, 物理地址(绝对地址,实地址)内存中存储单元的地址,可直接寻址 存储空间(绝对地址空间,物理地址空间)内存中物理地址的集合,名空间、地址空间、存储空间,2、静态重定位和动态重定位,地址映射(地址重定位)把逻辑地址转换为相应的物理地址的过程。,2、静态重定位和动态重定位,1

4、)静态重定位:,静态重定位,静态重定位,在程序执行之前进行重定位,根据装配模块将要装入的内存起始地址,直接修改装配模块中的有关地址的指令。当用户程序被装入内存时,一次性实现逻辑地址到物理地址的转换,以后不再转换(一般在装入内存时由软件完成)。,2、静态重定位和动态重定位,优点: 容易实现,不需要硬件支持。 缺点: 程序在重定位之后就不能在内存中移动了,因而不能重新分配内存,不利于内存的有效利用 要求程序的存储空间必须连续 不利于内存的共享,2、静态重定位和动态重定位,2)动态重定位:程序执行期间,每次存储访问之前进行重定位。需要硬件的支持,即重定位寄存器,重定位装入内存区的起始地址,重定位时,

5、对每一个有效地址都要加上重定位寄存器中的内容,形成绝对地址。,装入,10000,+,重定位寄存器,优点: 程序执行过程中,用户程序可以再内存中移动,有利于内存的充分利用 程序不必连续存放在内存中,可以离散存放。 若干个用户可以共享一个程序 缺点: 需要附加的硬件支持,7.2 连续分配存储管理方式,7.2.1 单一连续分配方式这是最简单的一种存储管理方式,但只能用于单用户、单任务的操作系统中。采用这种存储管理方式时,可把内存分为系统区和用户区两部分,系统区仅提供给OS使用,通常是放在内存的低址部分;用户区是指除系统区以外的全部内存空间, 提供给用户使用。 只能用于单用户、单任务的OS中。 软件简

6、单,硬件要求低,MS/DOS,7.2.1 单一连续分配方式,7.2.1 单一连续分配方式,优点:方法简单,易于实现缺点:不支持多道。主存利用率不高。程序的运行受主存容量限制,7.2.2 固定分区存储管理方式,分区式管理是满足多道程序的最简单的存储管理方案。它的基本思想是将内存划分成若干个连续区域,称为分区。每个分区只能存储一个程序,而且程序也只能在它所驻留的分区中运行。,7.2.2 固定分区存储管理方式,固定分区算法原理:把内存分为一些大小相等或不等的分区(partition),每个应用进程占用一个或几个分区。操作系统占用其中一个分区。每个分区的大小可以不同,但是事先必须固定,在系统运行时不能

7、改变。在每个分区内装入一个进程,允许几道作业并发执行。当有空闲分区时,可从外存中的后备队列中选择一个适当大小的作业装入该分区。,7.2.2 固定分区存储管理方式,1、分区划分方法分区大小相等分区大小不等 2、分区说明表包含:大小始址状态,7.2.2 固定分区存储管理方式,3、内存分配当有用户程序需要装入,由内存分配程序检索分区说明表,按照一定算法找出一个能满足要求的,尚未使用的分区分配给该程序,同时修改分区说明表中该表项的状态。如果没有足够的空间,则拒绝分配内存。,7.2.2 固定分区存储管理方式,7.2.2 固定分区存储管理方式,特点:适用于多道程序系统和分时系统问题:可能存在碎片,“零头”

8、 碎片,7.2.3 可变分区存储管理方式,内存不是预先划分好的,而是当作业装入时,根据作业的需求和内存空间的使用情况来决定是否分配。若有足够的空间,则按需要分割一部分分区给该进程;否则令其等待主存空间。 分区的大小和个数都是可变的,根据作业的大小和数量动态的划分。,7.2.3 可变分区存储管理方式,1、分区分配中使用的数据结构 (1)分区说明表:类似于固定分区中的分区说明表结构。(2)分别设置两个表格,一个是空闲分区表FBT,一个是已使用分区表OUT,分别来登记系统中的空闲分区和已使用分区。,0K,15K,38K,48K,68K,80K,110K,120K,空闲区表,已分配区表,0K,15K,

9、38K,48K,68K,80K,110K,120K,空闲区表,已分配区表,85K,98K,7.2.3 可变分区存储管理方式,(3)空闲分区链,7.2.3 可变分区存储管理方式,Job1,Job2,Job3,Job4,Job5,Job6,Job7,Job7,Job6,7.2.3 可变分区存储管理方式,2、分区的分配算法最先适应分配算法:为作业选择分区时总是按地址从高到低搜索,只要找到可以容纳该作业的空白块,就把该空白块分配给该作业。,Before,After,2、分区的分配算法,循环最先适应分配算法:类似首次适应法每次分区时,总是从上次查找结束的地方开始,找到一个足够大的空白区分配。,After

10、,2、分区的分配算法,最佳适应分配算法: 接到内存申请时,在空闲块表中找到一个不小于请求的最小空块进行分配 为作业选择分区时总是寻找其大小最接近于作业所要求的存储区域。 特点:用最小空间满足要求,After,2、分区的分配算法,最坏适应分配算法 : 接到内存申请时,在空闲块表中找到一个不小于请求的最大空块进行分配,与最佳适应法相反,它在作业选择存储块时,总是寻找最大的空白区。 特点:当分割后空闲块仍为较大空块,After,最先适应分配算法流程,7.2.3 可变分区存储管理方式,3、分区的回收操作,7.2.3 可变分区存储管理方式,4、存储保护为了防止一个作业有意无意的破坏操作系统或者别的作业,

11、应对分区采取保护措施。,4、存储保护,(1)上、下界存储保护:上、下界保护是一种简单的存储保护技术。系统可为每个作业设置一对上、下界寄存器,分别用来存放当前运行作业在内存空间的上、下边界地址,用它们来限制用户程序的活动范围。 (2)基址限长存储保护:上、下界保护的一个变种是采用基址限长存储保护。,4、存储保护,4、存储保护,(3)保护键法:系统为每个存储块设置一个单独的保护键,相当于一把锁;在作业的程序状态字中设置一个保护键字段,对不同的作业赋予不同的代码,相当于赋予不同的钥匙。,7.2.3 可变分区存储管理方式,5、存储器的紧缩和程序的浮动 目的:解决内存碎片(内零头)问题 解决方法: (1

12、)把作业分成几部分装入到不同的分区中去,也就是不把一个作业作为一个连续的整体存放在内存中。 (2)把内存中的小碎片集中,形成一个大的分区,使之可以装入较大的作业。,5、存储器的紧缩和程序的浮动,5、存储器的紧缩和程序的浮动,把小分区集中成大分区的方法叫做存储器的紧缩。 1)当某个作业一旦完成,立即进行紧缩 2)当某个作业申请一个分区,而内存中没有足够大的空闲分区,但各个空闲空闲分区之和大于作业大小,此时紧缩。,5、存储器的紧缩和程序的浮动,移动程序时应采用动态重定位方法,7.2.3 可变分区存储管理方式,分区管理的主要优点:分区管理是实现多道程序设计的一中简单易行的存储管理技术,内存称为共享资

13、源,有效地利用了处理机和io设备,从而提高了系统的吞吐量和周转时间。关于内存利用率,可变分区比固定分区高,此外分区管理算法简单,实现分区分批所采用的表格也不多,实现起来比较容易,内存额外开销较少。存储保护措施简单。,7.2.3 可变分区存储管理方式,主要缺点:内存使用不充分,存在严重的碎片问题,虽然采用拼接技术可以解决碎片问题,但需要移动大量信息量费了许多处理时机。此外,分区管理不能为用户提供虚存,不能对内存进行扩充,每个用户作业的存储要求仍然受到时机存储容量的限制。,7.3 离散分配存储管理方式,分区存储管理方案的一个特性是连续性,系统对每个程序分配连续的内存区,如果内存空间中没有能够满足要

14、求的连续分区,即使可用内存空间的总容量大于进程需要量,系统也不能分配。这种连续性导致了内存碎片问题,降低了内存资源的利用率,而拼接碎片又要花费大量的cpu时间。离散分配管理就是为了打破存储分配的连续性,使得一个程序的逻辑地址空间可以分步在若干离散的内存块上。,7.3.1 分页存储管理方式,1、 分页存储管理的基本概念(1)页面和物理块 页面:一个进程的逻辑地址被分成若干个区域,称为页或页面,给各页从零开始依次编以连续的页号0,1,2,3。 块:存储空间也被划分为与页大小相等的若干存储块,称为物理块或页架,同样编号为0,1,2,,页面和物理块,1、 分页存储管理的基本概念,(2)逻辑地址的表示:

15、(p,d) p:页号,d:页内地址对某特定机器,其地址结构是一定的。若给定一个逻辑地址空间中的地址为A,页面的大小为L,则页号P和页内地址d可按下式求得:,1、 分页存储管理的基本概念,(3)分页系统中的地址结构(p,d)数对在机器指令中的表示方法如下:假定地址长度32位,页面大小2k,则页内地址占11位,0到10位,11位到31位表示页号,也就是地址空间最多有2M页。,1、 分页存储管理的基本概念,(4)内存分配原则以物理块为单位把内存分配给进程,并且分给一个进程的各个物理快不一定是相邻的和连续的,实现离散存储。,2、页表(PMT)系统将进程的每一页离散的分配到内存的多个物理块中,应该能保证

16、进程的正确运行。每个进程都有一个页面映射表,简称页表包含 页号:进程各页的序号物理块号:进程页装入内存的物理块号,7.3.1 分页存储管理方式,页表,2、页表(PMT),每个页在页表中占一个表项,记录该页在内存中的物理块号。页表的作用是实现从号到物理块的地址映射,同时还会设置一个存储控制字段,实现对物理块中内容的保护和共享。存贮控制字段可规定一个物理块为读/写、只读和只执行等存取方式。,3、页面大小的选择分页系统中的页面大小是由机器的地址结构决定的,也就是由硬件决定。页面大小要选择适中,通常都是2的幂。,例:页面大小为1k,虚地址为3BAD,分析一下页号和页内地址页面大小2K,虚地址为3BAD,分析一下页号和页内地址,4、分页系统中的地址转换页内地址和块内地址是一一对应的,因此地址转换主要完成页号到内存中物理块号的转换。,(1)直接映像的页地址转换,(2) 相关映像的页地址转换,

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

当前位置:首页 > 生活休闲 > 社会民生

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