第四节 存储器管理2.pptVIP

  1. 1、本文档共88页,可阅读全部内容。
  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文档。上传文档
查看更多
第四章 存储器管理 4.1 概述 存储体系 存储管理的任务 存储分配和回收 地址变换(地址重定位) 存储共享和保护 存储器扩充 相关概念 逻辑地址: 物理地址: 地址空间: 存储空间: 地址重定位: ? 重定位的方式 静态重定位:目标代码装入内存时,一次性进行 地址转换。 动态重定位:目标代码装入内存时,先不进行地 址转换(即原代码装入),在执行 时,再实施地址转换。 ? 地址重定位过程 例: 4.2 程序的装入和链接 1)源程序转换成可执行程序过程 编译 链接 装入 2)程序的链接与装入 程序的链接(模块拼接) 静态链接:装入前先链接 动态链接:装入时(或执行时)才进行链接 程序的装入 绝对装入:目标代码与装入位置地址相一致 静态重定位装入:装入时实现地址转换 动态重定位装入:待执行时再进行地址转换 分配方式:连续分配或者离散分配 4.3 连续分配方式 单一连续区分配 固定分区分配 可变(动态)分区分配 可重定位分区分配 伙伴系统 1)单一连续分配 只能用于单用户、单任务的操作系统中。 ①系统区:仅提供给操作系统使用,OS通常驻留在 内存的低址部分; ②用户区:指除系统区以外的全部内存空间提供给某 一用户使用。 2)固定分区分配 算法思想 内存可用区划分成若干个大小固定的分区,这些分区大小可以相同也可不同,每个分区分别装入一道作业的代码(数据)。 算法实现 建立一个分区说明表来登记和管理整个内存。在这个表中登记了每一个分区的大小,起始地址和分配状态。 分区说明表 特点 3)可变分区分配 算法思想 按需分配:每次从空闲分区中按作业大小分配一块给该作业,然后将剩下的部分再作为空表块留在空闲分区中。(分区的大小和个数不固定) 算法实现 建立相关空闲分区表,用来记录每个空闲分区的大小、起始地址。空闲分区的管理常采用链表形式。 分区分配算法: 寻找某个空闲分区,其大小需大于或等于程序的要求。若是大于要求,则将该分区分割成两个分区,其中一个分区分配给用户,而另一个分区仍留在空闲分区链表中。 首次适应算法 循环首次适应算法 最佳适应算法 最差适应算法 快速适应算法 首次适应算法 循环首次适应算法 最佳适应算法 分区回收算法 如果释放区与临近的空闲区相连接,要将它们合并成较大的空闲区,否则空闲区将被分割得越来越小,最终导致不能利用。 上邻接合并 下邻接合并 上、下邻接合并 不邻接处理 例:某系统内存使用情况如下图,若采用首次适应算法分配内存,分别给出为某作业分配50k空间和回收作业4后的空闲分区链 4)可重定位分区分配 算法思想 在可变分区分配算法的基础上,采用动态重定位方式装入程序(数据)。当无足够大的分区供分配时,若总空闲存储容量够用,则将各分区中的内容向内存一端移动(紧凑),使另一端形成一个大的空闲分区,然后再分配。 算法流程(如下页图示) 例:前例若要为作业10分配120k的存储空间,因无足够大分区(总空闲容量290k),则先进行合并处理。 算法实现 为每个作业(分区)分配一个重定位寄存器,用以存放对 应分区首地址,以便实现动态地址转换;移动后,只需修 改重定位寄存器的值为新地址即可 优、缺点 5)伙伴系统 4.4 基本分页存储管理方式 1)算法思想和算法实现 算法思想 作业地址空间被分成大小相同的若干页(页面) 内存存储空间被分成大小与页相同的若干块(物理块) 将连续的页分配并存放到不连续的若干内存块中 建立页表,记录每一页对应的存储块的块号 算法实现 确定分页的页面大小 建立辅助数据结构 作业代码装入方式 2)地址变换过程和地址变换机构 地址的机构由两部分组成:P(页号)和D(页内偏移量)。 地址变换实例: 设一个3页长的进程具有页号0,1,2,其对应的物理块号则为2,3,8,如果每个页面的长度为1KB,则逻辑地址2500所对应的物理地址为多少? 为了缩短页表查找时间,可将当前访问的页表项装入到地址变换机构中的特殊高速缓冲寄存器,称为联想存储器或称快表 4)内存的分配与回收 计算作业(进程)所需的页面数?查是否有足够空闲块数的内存供分配 ? 查空闲块链表,分配内存块?分配页表空间,建立页表?修改空闲链

文档评论(0)

kehan123 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档