[操作系统]第3章存储管理.ppt

  1. 1、本文档共109页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[操作系统]第3章存储管理

第3章 存储管理 本章研究的主要目的: 第一、要使主存得到充分、有效的利用; 第二、为用户提供方便的使用环境。 第3章 存储管理 3.1 概述 3.2 地址映射 3.3 分区管理 3.4 覆盖与交换 3.5 分页管理 3.6 分段管理 3.7 段页式管理 3.8 虚拟存储器管理 3.1 概述 现代计算机系统的运行机制是基于冯·诺依曼的存储程序原理,即任何一个程序(包括操作系统本身)都必须被装入内存,占用一定的内存空间,才能执行,才能完成程序的特定功能。 计算机采用二级存储结构:内存区包括系统区和用户区,系统区包括操作系统程序本身和系统扩展区,用户区包括目态下运行的系统程序和用户程序与数据;外存是大容量的磁盘或磁带等,存放准备运行的程序和数据,当进程要运行时,这些相应的程序和数据必须调入内存才能执行。在多道程序环境下,用户区可以同时存放几道程序,为多道程序所共享。 内存管理的目的:方便用户使用和提高内存的利用率。 内存管理的主要任务是: (1)内存的分配与回收。 (2)地址映射。 (3)内存的共享。 (4)存储保护。 (5)存储扩充。 3.2 地址映射 3.2.1 逻辑地址 3.2.2 物理地址 3.2.3 地址映射方式 3.2.1 逻辑地址 逻辑地址,也叫虚地址。我们平时用高级语言或汇编语言编程时,源程序中使用的地址都是符号地址,如:goto Label CALL subroutine1 用户不必关心符号地址Label或subroutine1在内存中的物理位置。源程序经过编译或汇编,再经过链接后,形成了一个以0地址为起始地址的虚拟空间,每条指令或每个数据单元都在虚拟空间中拥有确定的地址,该地址就称为逻辑地址,或虚拟地址。 3.2.2 物理地址 物理地址,也叫实地址。所有程序必须装入内存才能执行。程序在执行时所占用的存储空间称作它的内存空间,也叫物理空间。一个物理空间是若干物理地址的集合。 地址映射 3.2.3 地址映射方式 地址映射有两种方式:静态映射和动态映射。 1. 静态映射 静态映射是在程序装入指定内存区时,由重定位装入程序一次性完成的。 假设目标程序分配的内存区起始地址为B,那么程序中所有逻辑地址(假设为a),对应的内存空间的物理地址为B+a。 2. 动态映射 动态映射是在程序执行过程中进行的,由硬件地址映射机构完成。其方法是:设置一个公用的基地址寄存器BR,存放现行程序分配的内存空间的起始地址。CPU以逻辑地址访问内存时,映射机构自动把逻辑地址加上BR寄存器中的内容而形成实际的物理地址如图 3.3 分区管理 3.3.1 固定分区管理 3.3.2 可变分区管理 3.3.3 地址转换与存储保护 分区管理思想 为了满足多道程序设计技术,把内存空间划分成若干个大小可等可不等的连续区域,每个用户作业分配一个区域,用户作业一次整体装入到这个区域中,并限制只能在这个区域中运行。 分区方式分为: 单一连续分配 固定分区 可变分区两种 可重定位式分区 多重分区 分配策略/算法 首次/最先适应First fit: 空白区按地址大小递增顺序排列。查找分区说明表,找到第一个满足申请长度的空闲区,分配并分割。剩余部分保留在空白区表中原来的位置。 最先适应算法:尽可能利用存储器的低地址部分,因此在低地址部分会很快地产生大量碎片。 最佳适应(最优) Best fit : 空白区表中的空白区按其容量以递增的次序排列。当要求分配一个空白区时,由小到大顺序查找分区说明表,找到第一个满足申请长度的最小空闲区,分配并分割。如果有剩余部分,作为一个空白区将其插入适当的位置; 最佳适应算法:选择容量接近的空闲区来分配,产生大量碎片。 最差适应(最坏) Worst fit : 空白区表中的空白区按其容量以递减的次序排列。查找分区说明表,找到第一个满足申请长度的空闲区,分配并分割。剩余部分插入适当位置。 最差适应算法:分割大空闲区后,还可以产生较大的空闲区,空闲区均匀地减小,以避免碎片。 唯一最佳适应算法(single best fit) 分区按大小顺序分级(8KB、16KB、32 KB、…… ) 作业按请求容量也分成相应的存储级,仅当PDT中相应级的分区为空闲时,才进行内存分配,即使有更大的分区空闲也不予以分配。 补充:单一连续分配 基本思想 操作系统区 作业区 一个用户程序独占作业区 3.3.1 固定分区管理 固定分区管理的基本原理:把内存分为若干大小相等或不等的分区,分区的大小和分区的总数由操作系统在系统初启时建立,一旦建好,在系统运行过程中,每个分区的大小和分区总数都是固定不变的。 用到的数据结构主要有分区说明表(PDT),PDT中,每一行

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档