第8章 存储管理 1.pptVIP

  1. 1、本文档共42页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第8章 存储管理 存储器是计算机的记忆部件,计算机系统的主要用途是执行程序,在执行程序时,这些程序及其所访问的数据必须在内存里。由于内存通常太小不足以永久地容纳所有数据和程序,因此计算机系统必须提供外存(如硬盘)以扩充内存的技术。 在现代计算机系统中,内存是一个关键性的资源。能否合理而有效地使用它,在很大程度上反映了操作系统的性能,并直接影响整个计算机系统作用的发挥。所以,存储管理是目前人们研究操作系统的中心问题之一。 8. 1 存储器的层次 8.1.1三级存储器结构 高速缓存(cache)—内存(primary storage)—外存(secondary storage) 目的:解决CPU访问数据时CPU与内存、外存与内存在传递信息交换过程中的速度差问题。 8.1.2 存储管理的功能 1.内存分配和回收 使各作业或进程各得其所 2.内存保护 内存保护就是确保多个进程都在各自分配到内存区域内操作,互不干扰,防止一个进程破坏其他进程的信息。 3.内存扩充 内存“扩充”包含了存储器利用的提高和扩充两方面的内容。为用户提供比内存物理空间大得多的地址空间。比较典型的内存扩充是虚拟存储器。 4.地址映射 地址映射就是将进程的逻辑地址变换为内存中的物理地址。我们需要实现从逻辑地址到物理地址的变换,即实现从虚地址到实地址的变换。这种变换就是重定位。 几个重要的概念 ①逻辑地址(虚拟地址) 用户程序经编译、链接以后形成的每条指令或数据单元的地址,这些地址都是相对于某个基地址来编制的。 ②逻辑地址空间 某个用户程序的虚拟地址的集合。 ③物理地址(绝对地址) 处理机能直接访问的存储器地址。 ④物理地址空间 物理地址空间是指进程在内存中一系列存储信息的物理单元的集合。物理地址空间也叫存储空间,存储空间与地址空间既相互关联,又相互独立,是内存管理的核心概念。 8.2 分区式存储管理 内存分配方式可分为连续分配方式和离散分配方式,本节将讨论连续分配方式。分区式存储管理是连续分配方式,为一个进程分配一个连续的存储空间。分区式存储管理支持多道程序系统和分时系统,但内存分配存在不可利用的内存空间,即碎片问题。碎片一般可分为内碎片和外碎片。前者是指分区内不可利用的内存空间,后者是指分区之间难以利用的小空闲分区。内碎片和外碎片都可以降低内存的利用率,但外碎片对系统的危害更大。关于碎片问题将在各种内存分配方式中详细讨论。 8.2.1单一连续分配 单一连续分配内存分配优缺点如下: 优点:实现简单,不需要复杂的软、硬件支持。 缺点:存在内碎片问题。资源利用率低,由于存储资源利用率低而造成其他资源利用率低(如CPU、外设等),特别是不允许多个进程并发运行,这是不容忽视的缺点。CP/M和DOS2.0以下的版本就是采用此种方式。 8.2.2固定分区分配 1、基本原理:操作系统或系统管理员在操作系统启动时,把内存划分为若干大小不等的区域,分区一旦划定,在整个执行过程中就不能改变。每个作业占用一个分区,每个作业都占用连续的一片内存区域。 固定分区分配是最简单的多道程序的存储管理方式,它用于IBM/360的MFT操作系统中。 2、存储器的分配和回收: 分配:当用户程序要装入执行时,系统就根据其要求的内存空间大小,按最佳适应法找出一个存储区分配给它。 回收:当用户作业执行完毕时,系统将其占用分区的状态位置为空闲即可。 1.空闲分区链表 每个空闲分区的前后两个单元,放置空闲分区的说明信息和指针。如图所示,系统设立一个链首指针Free,指向第一个空闲分区。空闲分区排列需按照一定的规律(如按大小、按地址),分配进程可以依照空闲分区链表,来查找适合的空闲分区进行分配。 2.动态分区的分配算法 ⑴首次适应算法 一旦找到大于或等于所要求内存长度的分区,则结束查找,然后按作业的大小,从该分区中划出一块空间分给请求者,余下的部分仍留在空闲链或空闲表中,它要求空闲分区表或自由链按其始地址递增的次序排列。 优点:倾向于使用低地址空间,为以后的大作业保存了高地址的大空闲区。 缺点:低地址空间被多次划分,会产生许多个小的无法使用的分区。而且每次查找空闲区都从低地址开始,会增加查找开销。 (2)最佳适应算法 它要求找到一个长度大于等于所要求内存长度,且最接近于所要求内存大小的分区进行分配。然后按作业的大小,从该分区中划出一块空间分给请求者,余下的部分仍留在空闲链或空闲表中。它要求空闲分区表或自由链按分区大小递增的次序排列。 说明:从表面上看,该算法是最节省空间的,但由于每次分配后剩下的部分,也是最小的,这样会产生许多难以利用的小空闲区。 (3)最差适应算法 它要求找到一个长度大于等于所要求内存长度,且最大的分区,然后按作业的大小,从该分区中划出一块空间分给请求者,余下的部分仍留

文档评论(0)

精华文档888 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档