《操作系统》电子课件教案-第四章 存贮器管理

上传人:aa****6 文档编号:51208470 上传时间:2018-08-12 格式:PPT 页数:77 大小:746.50KB
返回 下载 相关 举报
《操作系统》电子课件教案-第四章  存贮器管理_第1页
第1页 / 共77页
《操作系统》电子课件教案-第四章  存贮器管理_第2页
第2页 / 共77页
《操作系统》电子课件教案-第四章  存贮器管理_第3页
第3页 / 共77页
《操作系统》电子课件教案-第四章  存贮器管理_第4页
第4页 / 共77页
《操作系统》电子课件教案-第四章  存贮器管理_第5页
第5页 / 共77页
点击查看更多>>
资源描述

《《操作系统》电子课件教案-第四章 存贮器管理》由会员分享,可在线阅读,更多相关《《操作系统》电子课件教案-第四章 存贮器管理(77页珍藏版)》请在金锄头文库上搜索。

1、第四章 存 贮 器 管 理第四章 存 贮 器 管 理1 引言 2 基本概念 3 分区管理 4 覆盖与交换 5 分页管理 6 分段管理 7 段页式管理 8 虚拟存贮器管理基本概念 9 请求分页管理 10 动态分段管理 第四章 存 贮 器 管 理 引 言存贮器是计算机系统的重要硬件资源, 任何程序和数据都必须占有一定的存贮空间,尤其是在多道程序系统中,存贮器是用户作业要求共享的主要资源,故存贮器管理是操作系统的主要资源管理功能之一。在现代计算机系统中,存贮器一般分为内存和外存两级第四章 存 贮 器 管 理 基 本 概 念(1)为用户使用存贮器提供方便,这包含两个含义:一是,每个用户都以独立的方式编

2、程,即用户只需在各自的逻辑空间内编程,而不必关心他的程序在内存空间上的物理位置;其次是,为用户提供充分大的存贮空间,使得用户程序的大小不受实际内存容量的限制,即用户不必关心内存空间的 物理分配。(2)充分发挥内存的利用率,既要为每个用户程序提供足够大的内存空间,使它们得以有效地运行,又要不浪费内存空间,在合理的前提下,让尽可能多的用户程序进驻内存运行。第四章 存 贮 器 管 理.内存分配()静态分配:作业要求的内存空间是在目标模块连接装入内存时确定并分配之,且在作业的整个运行过程中不允许再申请,即分配工作是在作业运行前一次性完成。(2)动态分配:作业要求的基本内存空间是在目标模块装入时确定并分

3、配的,但在作业运行过程中允许申请附加的内存空间,即分配工作可以在作业运行前及运行过程中逐步完成。第四章 存 贮 器 管 理. 地址映射高级语言或汇编语言程序形成的逻辑空间是符号名空间,其中的地址是符号地址。源语言程序经编译或汇编后产生的逻辑空间称之为该程序的地址空间,也叫虚空间。地址空间中的地址都是相对地址(相对于地址“0”),称作逻辑地址。任一程序的地址空间都是以地址0起始的逻辑地址之集合,且可以是一维空间或二维空间。不同程序的地址空间可以相同或局部重叠。整个内存 是个一维的物理空间,程序必须被装入内存才能执行。一程序在执行时所占用的存贮空间称作它的内存空间。一个内存空间是若干绝对地址(即物

4、理地址)之集合,它是一维空间。显然,不同程序的内存空间不能冲突。第四章 存 贮 器 管 理逻辑地址是一个“虚”的概念,处理机不能直接访问逻辑地址,而物理地址则是“实”的。因而,操作系统必须提供这样的功能,把程序执行时要访问的地址空间中的逻辑地址变换成内存空间中对应的物理地址。这种把虚地址变换成实地址的过程称作地址映射。若用A表示地址空间,用M表示内存空间,则地址映射可表示成:f:第四章 存 贮 器 管 理(1)静态映射:地址映射是在程序装入时一次性进行,由软机构一重定位装入程序完成。它把分配给二进制目标程序的内存区的起始地址B作为基地址,在把该程序装入指定内存区的同时,将程序中的所有逻辑地址翻

5、译成相对于基地址B的物理地址,即 ()这里a是地址空间中的任一逻辑地址,f(a)为a相应的物理地址。经静态映射后的程序便可在内存空间f(A)=M中执行了。第四章 存 贮 器 管 理(2)动态映射:图- 动态地址映射第四章 存 贮 器 管 理3 内存保护保护为多个程序共存内存提供保证,有共存才需要保护,有保护才能正确地实现共存。内存保护就是为各程序的内存空间提供保护,以防他人侵犯。内存分配和地址映射不能完全解决保护问题,必须在程序执行时随机检查对内存的所有访问,以保证各个程序都在自己所属的内存空间里工作,互不干扰,特别是要防止用户程序侵犯操作系统的内存区。第四章 存 贮 器 管 理 内存扩充内存

6、容量总是有限的。为了既满足大作业的存贮需求,又能实现在内存中存放尽可能多的用户程序,给它们分配得以有效运行的足够的内存空间,从而充分发挥整个系统的效率,比较高级的计算机系统,特别是中、大型的通用计算机系统通常都需要扩充内存。这种扩充不是物理的增大内存容量,而是对内存空间的逻辑扩充,即通过软件方法将内存空间扩充成比实际容量更大的逻辑存贮空间。虚拟存贮器是广泛采用且有效的内存扩充技术。第四章 存 贮 器 管 理 分 区 管 理(1) 首次适应算法FF(First Fit)(2) 最佳适应算法BF(Best Fit)(3) 最坏适应算法WF(Worst Fit)第四章 存 贮 器 管 理. 固定分区

7、管理图- 固定分区例第四章 存 贮 器 管 理. 可变分区概念图- 可变分区示例第四章 存 贮 器 管 理. 可变分区分配图- 双向空区链结构第四章 存 贮 器 管 理.分配程序本程序的调用参数是请求容量(字节数),返回参数为所分配的分区起始地址,若,则表示分配失败。常量为规定的空闲区最小容量值,如果所选择的空闲区的容量大于请求容量,且剩余空间大于,则该剩余部分作为较小的空闲区仍留在空区链中,否则一起分配之。第四章 存 贮 器 管 理第四章 存 贮 器 管 理第四章 存 贮 器 管 理. 回收程序回收一个分区的主要工作是:检查回收区是否有邻接空闲区,若有则进行合并 ,否则将回收区插入空区链中的

8、适当位置。一个回收区邻接空闲区的情况有三 种,对它们分别处理:回收区的前邻是空闲区,合并后仍为空闲区 ,其起址不变,但其大小为原容量与的容量之和;回收区的的后邻是空闲区,合并后变成,的起址是的起址,的大小为与的容量之和;回收区的前后邻均是空闲区,设为和,把从链中删除,但保留,1的起址不变,其大 小再加上和的容量。第四章 存 贮 器 管 理第四章 存 贮 器 管 理第四章 存 贮 器 管 理第四章 存 贮 器 管 理第四章 存 贮 器 管 理. 地址映射与保护图- 分区管理的地址映射与保护第四章 存 贮 器 管 理 覆 盖 与 交 换. 覆盖所谓覆盖()是指同一内存区可以被不同的程序段重复使用,

9、这些相对独立的程序段可以属于同一作业,也可以是不同作业的。当某程序段 不再需要时,另一程序段可以占用它的位置。把可以在其上进行覆盖的内存区 称为“覆盖区”,而可以相互覆盖的程序段称为“覆盖”。第四章 存 贮 器 管 理图- 覆盖示例第四章 存 贮 器 管 理图4-7 分页管理的地址映射及保护第四章 存 贮 器 管 理我们用的提供的覆盖描述语言来描述图-给出的覆盖结 构,它可表示为 (,(,)其中,说明是根段,同一覆盖段中各覆盖之间用逗号分隔, 并括在同一括号内,表示结束行。命令行构成一个覆盖描述文件。第四章 存 贮 器 管 理. 交换无论是哪一种交换式存贮管理都涉及到下述三个问题: ()对需换

10、进的进程分配的内存空间必须是它原先占据过的空间,或者允许分配一个新的空间。()对进程实体是整体还是部分交换。()关于交换时间。第四章 存 贮 器 管 理对于采用交换技术的分时系统,交换时间是影响时间片设置的因素之一。为了有效利用,时间片值一般应大于交换时间。例如 ,若外存是标准的硬磁盘,其传输率为兆字节秒,平均寻址定位时间是,又假定用户进程实体的平均大小为 字节,则换进或换出一个进程 的平均时间为:第四章 存 贮 器 管 理 分 页 管 理. 实现原理系统将作业地址空间划分成一些大小相等的块,称之为“页”。设地址空间有页,则这页被顺序编号为、,称之为页号,这是相对页号。每个页内部相对于连续编址

11、,即页内是连续的。于是作业地址空间构成一个二维地址空间,其中的任一逻辑地址都表示成有序偶(,),其中是页号,是页内位移量即相对地址。第四章 存 贮 器 管 理同样,系统将内存空间也分成大小与页相等的若干块,称为内存块,简称“块”。通常,页长总是取的整数次幂,例如为或等等 。设内存空间的容量为,页长为r,则内存共划分成块,这块从低地 址开始依次编号为、,称之为块号,这是绝对块号。假定机器地址部分有位,若规定页长为,则地址的高位为页号,低位为位移量,页 号位 移 量18980第四章 存 贮 器 管 理图- 利用快表的分页地址映射第四章 存 贮 器 管 理. 数据结构与存贮分配()内存分块表 整个系

12、统一个,用以记录所有内存块的使用情况,表目数等于内存块总数,各内存块按序对应一个表目,表目号即块号。表目项可以是占用者名和页号。 若则表示该块为空闲块,记录该块被分配后所对应的地址空间中的页号。第四章 存 贮 器 管 理()页表 每个用户进程一个,用以记录进程实体的地址空间与内存空间的映射关系。地址空间中的各页按序对应页表中的一个表目,表目号等于页号,表长等于页数。在一些分页系统中,为了便于管理,每个页表的长度是相等的,于是全部页表被构成一个二维数组,为页表个数,它等于用户进程的最大个数,是规定的页表最大长度。若有 ,表示第 号页表为空闲。进程的中记录着相应页表的起始地址和表长。当进程调度程序

13、启动某个进程执行时,将该进程中的页表始址和表长装入页表控制器。第四章 存 贮 器 管 理()计数变量freeblocks 它记录当前空闲块的数目。、及freeblocks均放在系统区。分配程序的调用参数为申请者名name和申请长度x(以字节计);返回参数是页表的起始地址和实际长度(实际表目 数),若分配失败,则;常量pagesize是规定页长(字节数)。回收程序的调用参数是页表的始址和实际长 度。第四章 存 贮 器 管 理第四章 存 贮 器 管 理第四章 存 贮 器 管 理. 关于碎片碎片量取决于两个因素:()块或页的大小。直观上,块越小内碎片越小,但这要增加系统的其他开销,比如页表增长就要占

14、用更多的内存空间,在实现虚存的请求分页系统中还要增加内外存交换次数。许多分页系统都取页长为 字,如 和及n-等。但近来的文献资料表明,对页长有取较小的趋势,如和取字,取字。第四章 存 贮 器 管 理(2) 内存中同时运行的作业数J。设系统把用户内存区划分成m块,则碎片率约为()。例如,设,用户区为兆字节且被划分成 块,即块长为 ,于是该系统的最大碎片率约为( ).,故最大碎片量约为.兆字节 字节。第四章 存 贮 器 管 理 分 段 管 理分页技术有效地实现了内存分配的非连续性,解决了碎片问题,从而大大提高了内存利用率。但是对用户作业地址 空间进行分页,使之从一个一维地址空间变成二维地址空间 是完全由系统进行的。这种分页并不是依据作业内在的逻辑 关系,而是对连续的地址空间的一种固定长度的连续划分。 一页通常不是一个完整的程序或数据逻辑段。一个逻辑段可 能被分成若干页,不同的逻辑段也可能在同一页内。本质上 ,作业地址空间仍然是从开始顺序编址的线性地址空间, 它没有明显的逻辑结构关系。因此,分页并不是出于用户使 用上的需要,它对用户是透明的,而是系统出于管理上的需 要,目的是使作业地址空间与内存空间的管理在结构上一致 。第四

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

当前位置:首页 > 办公文档 > PPT模板库 > 教育/培训/课件

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