操作系统授课讲义-8

上传人:ldj****22 文档编号:50687348 上传时间:2018-08-09 格式:PPT 页数:38 大小:271KB
返回 下载 相关 举报
操作系统授课讲义-8_第1页
第1页 / 共38页
操作系统授课讲义-8_第2页
第2页 / 共38页
操作系统授课讲义-8_第3页
第3页 / 共38页
操作系统授课讲义-8_第4页
第4页 / 共38页
操作系统授课讲义-8_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《操作系统授课讲义-8》由会员分享,可在线阅读,更多相关《操作系统授课讲义-8(38页珍藏版)》请在金锄头文库上搜索。

1、第4部分 主存储器管理第八章 实存储器实存储器管理技术固定分区存储管理 可变分区的多道存储管理 多重分区存储管理 覆盖技术,交换技术 第九章 虚拟存储器虚拟存储器管理技术 分页存储管理 分段存储管理 段页式存储管理从资源管理的角度,存储器管理是操作系统 的四大功能之一:处理机管理 存储器管理 I/O设备管理 文件系统管理存储器管理是操作系统的关键特征,许多操 作系统的区别往往就在于主存储器管理技术的不同 。例如: OS/360-MFT 采用固定分区存储管理技术; OS/360-MVT 采用可变分区存储管理技术; DOS 采用单一分区连续存储管理技术; OS/2、WINDOWS NT是采用虚拟存

2、储技术。8.1 引言8.1.1 主存储器的物理组织、多级存储器1、基本概念:存储器(storage, memory):能接收数据和保存数据、 而且能根据命令提供这些数据的装置。内存储器(简称内存、主存储器、物理存储器):处理 机能直接访问的存储器。用来存放系统和用户的程序和数 据,其特点是存取速度快,存储方式是以新换旧,断电信 息丢失。如DRAM, SDRAM等。外存储器(简称外存、辅助存储器):处理机不能直接 访问的存储器。用来存放用户的各种信息,存取速度相对 内存而言要慢得多,但它可用来长期保存用户信息。在文 件系统中介绍。如软盘、硬盘、光盘、磁带等第第8 8章章 实存储器管理技术实存储器

3、管理技术物理地址:把内存分成若干 个大小相等的存储单元,每 个单元给一个编号,这个编 号称为内存地址(物理地址 、绝对地址、实地址),存 储单元占8位,称作字节( byte)。物理地址空间:物理地址的 集合称为物理地址空间(主 存地址空间),它是一个一 维的线性空间。2、存储器的物理组织地址3、程序的逻辑结构l程序地址:用户编程序时所用的地址(或称逻辑地址 、虚地 址 ),基本单位可与内存的基本单位相同,也可以不相同。l程序地址空间(逻辑地址空间、虚地址空间):用户的程序 地址的集合称为逻辑地址空间,它的编址总是从0开始的,可以 是一维线性空间,也可以是多维空间。逻辑地址、物理地址和地址映射高

4、速缓冲存储器主存储器外部存储器4、多级存储器存取时间减少(ms-ns)访问速度提高每位价格上升()容量减少(G - K)程序和数据可为CPU 直接访问程序和数据必须交换到 内存才能被 CPU 访问CPU内部存储-计算机原理中讲述操作系统存储管理操作系统文件系统8.1.2 主存储器管理的功能(1)主存分配与回收:主存分配与回收算法及其所用的数据结 构、主存分配与回收策略(放置策略、交换策略、调入策略、 回收策略)主存分配:按照一定的算法把某一空闲的主存区分配给作业或 进程。(2)地址映射或地址重定位:静态重定位与动态重定位地址映射:将程序地址空间中使用的逻辑地址变换成主存中的 地址的过程(3)主

5、存信息的共享与保护:硬件法、软件法、软硬结合。存储保护:保证用户程序(或进程映象)在各自的存储区域内操 作,互不干扰。(4)虚拟存储器或存储器的扩充:用外存空间来扩充主存。虚拟存储器:为用户提供一种不受物理存储器结构和容 量限制的存储器的技术称为虚拟存储器,或称虚拟存储技术。 它是用户编程时所使用的一种用户思维中的存储器,它 可以是任何结构(一维线性空间、二维空间、乃至n维空间) ,并没有容量的限制。(5)内外存数据传输的控制。( 其他教科书观点。应包含在 (4)中)存储管理的目标:(1)支持多道程序设计;(2)方便用户;(3)提高主存利用率8.2 固定分区存储管理8.2.1 原理 思想:把内

6、存分为一些大小相等或不等的分区(partition) ,操作系统占用其中一个或两个分区,每个用户应用程序调 入内存后占用一个分区,程序运行完成后释放。 固定分区存储管理是满足多道程序设计的最简单的一种存 储管理方法,它允许多个用户程序同时存在系统内存中,即 共享内存空间。主要问题是内存使用效率极低,很快就被淘 汰了。 8.2.2 单一连续分区存储管理内存分为两个区域:系统区,用户区。应用程序装入到用 户区,可使用用户区全部空间。特点:最简单,适用于单用户、单任务的OS。优点:易于管理。缺点:对要求内存空间少的程序,造成内存浪费;程序全 部装入,很少使用的程序部分也占用内存。用户程序位于RAM中

7、的 操作系统0xffff0位于RAM中的 操作系统用户程序ROM中的 设备驱动程序用户程序位于RAM中的 操作系统单一连续区存储管理0xffff00xffff0 (a)(b)(c)在APPLE II等机器上运行的操作系统单一连续分区存储管理CP/M-80 CP/M-86高地址BIOS(1.5k) 引导监控程序(8k) 操作系统BDOS(3.5k) TPA2(128k) 用户区 CCP(2k) TPA1(20.5k) 用户区TPA(56k) BIOS(1.2k)系统参数缓冲 CCP,BDOS(9.2k) 系统系统区256bytes系统参数区(1k) 常驻BIOS:基本输入输出系统; BDOS:基

8、本磁盘操作系统;CCP: 控制台命令处理程序; TPA: 临时程序区8.2.3 多用户固定分区: 基本思想:在处理作业前,主存已划分成若干分区,其长 度可以不同,但分区个数和每个分区的长度是固定的。每 个分区只能分给一个作业;每个作业只能在一个分区内。8 M8 M8 M8 M8 MOperating SystemOperating System 8 M12 M8 M8 M6 M4 M2 M固定分区(大小相同)固定分区(多种大小)存储分块表区号 长度 起始地址 状态1 8k 20k 已分配2 32k 28k 已分配3 64k 60k 已分配4 132k 124k 空闲作业A(6k)作业B(36k

9、)作业C(25k)作业后备队列操作系统作业A(6k)作业C(25k)作业B(36k)020k28k60k124k256k第1 分区第2 分区第3 分区第4 分区碎 片数据结构:存储分块表MBT-记录存储分区情况及存储区使 用状况的信息。(放在操作系统区!)固定分区的进程队列:多队列适用于大小不等的固定分区;单 队列适用于大小相同的固定分区,也可用于大小不等的情况。 主存分配策略:给每个作业分配一个足够 大的主存分区, 不允许两个作业放于同一个分区。 当调度作业时,由主存管理模块按作业所需的最大存储 量查存储分块表,进行分配。作业完成后将该存储区归还系统 。 存储保护和重定位:在固定分区存储管理

10、中,存储保护采用 界限寄存器方法。地址重定位采用静态重定位方法,由连接装 入程序来完成。 优点:固定分区存储管理技术的最大优点是简单易于实现, 开销小。要求的硬件支持只是一对界限寄存器,软件算法也很 简单。 缺点:主存利用率不高,存在碎片。 分区内部碎片造成浪费 分区总数固定,限制了并发执行的程序数目。可以和后面要讲的覆盖、交换技术配合使用。分区存储分配算法: (1)最先匹配法(first-fit):按分区的先后次序,从头查找 ,找到符合要求的第一个分区。MBT中的分区是按起始地址从低 到高排序的。 该算法的分配和释放的时间性能较好,较大的空闲分区可以被保留在内 存高端。 但随着低端分区不断划

11、分而产生较多小分区,每次分配时查找时间开销 会增大。 (2)下次匹配法(next-fit):按分区的先后次序,从上次分配 的分区起查找(到最后分区时再回到开头),找到符合要求的 第一个分区。MBT中的分区是按起始地址从低到高排序的。 该算法的分配和释放的时间性能较好,使空闲分区分布得更均匀,但较 大的空闲分区不易保留。 (3)最佳匹配法(best-fit):找到其大小与要求相差最小的空 闲分区。MBT中的分区是按分区大小从小到大排序的。 从个别来看,外碎片较小,但从整体来看,会形成较多外碎片。较大的 空闲分区可以被保留。 (4)最坏匹配法(worst-fit):找到最大的空闲分区。MBT中的

12、分区是按分区大小从小到大排序的。 基本不留下小空闲分区,但较大的空闲分区不被保留。固定分区存储管理技术采用 FF 和 BF 的 结合,即在存储分块表中按分区尺寸由小到大排列。 这样可使查表时间短,且分区内的碎片浪费最少。 基本思想:在处理作业的过程中建立分区,分区的大小正好 满足作业的需要,即“量体裁衣”。例如:系统启动后,操作系统占用内存低地址的一部分(如20K),剩下 的部分作为一个空闲区。当一个用户程序(Job A,B,C)依次调入内存时 ,对空闲区进行分割形成多个分区,程序结束时回收合并分区,如图所示。8.3 可变分区的多道管理技术技术特点:分区个数,分区大小均可变; 主存中分布 着个

13、数,大小均是变化的空闲分区或碎片(外部碎片) 。 关键问题: 如何管理已分配的和自由分区? 如何实现可变分区存储分配算法? 如何消除过小的碎片?数据结构:可变分区管理的数据结构有三种:(1)存储分块表MBT(单表,见上节同固定分区):表长难定, 查表速度慢。(2)已分配分区表和自由分区表(双表):已使用分区表 (UBT), 空闲分区表(FBT)= 减少存储分配和释放时查找表格 的长度,提高查找速度。(3)空闲存储块链(链表):用链指针把所有空闲分区链接在 一起,构成一条自空闲存储块链 = 管理维护简单。区号 长度 起始地址 状态1 8k 512k 已分配2 32k 520k 已分配3 空表目4

14、 120k 584k 已分配5 空表目 区号 长度 起始地址 状态1 32k 552k 空闲2 空表目3 520k 704k 空闲4 空表目5 空表目 已分配分区表UBT空闲分区表FBT释放存储分区双表组织的可变分区数据结构lFBT 需要表格维护(排序:分区位置,分区大小);lUBT不需表格维护(区号为存储保护键,不能随意变动)。lUNIX系统FBT:即主存可用资源表,50个表目,按地址排序 ,采用最先适应法分配。0操作系统4k06k10k作业 118k28k2k链指针20k作业228k4k4k32k6K空闲分区2K空闲分区4K空闲分区空闲存储块 链头指针18K空闲存储块链(队列)每个空闲存储块起始的若干字节分成两部分:链指针next指向下一个空闲存储块的起始地址;最后一块的链指针为0 (链尾标志); 大小size 指出本空闲块的大小

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

当前位置:首页 > 行业资料 > 其它行业文档

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