OS第四章2.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
OS第四章2

存储器管理 Operating System * * 存储管理器 主存硬件设计的三个基础要求 主存访问时间尽可能短 主存容量尽可能大 主存必须有较高性价比 存储管理器的功能 分配主存空间给进程 映射进程地址空间到已分配的主存空间 使用性价比较好的主存,最小化访问时间 * * 常见存储管理方式 连续分配方式 离散分配方式 基本分页存储管理方式 基本分段存储管理方式 虚拟存储 请求分页存储管理方式 请求分段存储管理方式 * * 4.3 连续分配方式 单一连续分配 1 固定分区分配 2 动态分区分配 3 动态重定位分区分配 4 用户程序获得的内存空间具有连续性 * * 单一连续分配方式 内存被划分为低址部分的系统区和高址部分的用户区 仅用于单用户单任务OS * * 固定分区分配 将内存用户空间划分为多个固定大小的区域,每个区域内只装入一个进程,即并发的进程数量取决于分区个数 若当前某进程完成操作释放资源,外存后备队列中的适当大小作业被装入分区,获得执行 最早及最简单的运行多道程序的存储管理方式,实现简单,但会浪费存储空间 * * 固定分区分配 分区方法 等大分区 用户空间中所有分区大小相等 实现简单,适用于控制多个相同对象的群控系统 缺乏灵活性,程序过大或过小时都会产生问题 非等大固定分区 分区容量有大有小,作业装入时根据占用空间选择合适分区 * * 固定分区分配 内存分配 用户空间的各分区按照大小排序,并将其起始地址、容量、分配状态等信息纪录在分区使用表中 用户程序装入内存时,从表中找出大小可以满足需求且尚未分配的分区保存其资料,同时将分配状态置为“已分配”;若找不到大小合适的分区就拒绝为其服务 * * 动态分区分配 根据进程实际需要动态的分配内存 空闲分区按照某种规则(由分配算法决定)排列成链表或纪录在表格中 作业或进程提出内存请求时,在链表或表格中寻找一个容量满足请求的分区为之分配 回收内存时合并相邻分区,插入空闲区链表或空闲区表格 * * 动态分区分配算法 首次适应算法 循环首次适应算法 最佳适应算法 最坏适应算法 快速适应算法 顺序搜索法 分类搜索法 * * 首次适应算法 空闲区按起始地址升序链接为双向链表 算法描述 分配时从链首开始查找第一个容量符合要求的空闲分区进行分配,在将该空闲分区划分出进程所需的空间后,剩余的空闲区域仍需以新空闲分区的身份记入链表,若无法找到满足容量要求的分区,则失败返回 优点:优先利用低址部分,保留了高址的大容量空闲区,便于运行大型作业 缺点:低址部分可能出现大量难以利用的小空闲区,每次查找时会增加开销 * * 循环首次适应算法 按照空闲区起始地址升序链接为环状链表,设置起始查寻指针,用于指示下一个可用空闲区位置 算法描述 每次查找时从上次所用分区的下一个空闲区开始,直到找到可以满足容量要求的空闲区,按照申请空间大小划分分区给作业(进程),若找不到这样的分区,则失败返回 优点:空闲区分布相对均匀,回收时合并成大空闲区的可能较大,减少查找开销 缺点:缺乏大的空闲区保证大型作业运行 * * 最佳适应算法 按容量升序链接为空闲分区链 选择最小的能满足需求的空闲区分配给作业 优点:尽可能的保存较大的空闲区 缺点:切割后产生的小空闲区的数量不可小觑 * * 最坏适应算法 空闲分区按照容量降序链接 选择容量最大的空闲分区分割并分配给作业(进程) 优点:每次分配的剩余空闲区不会太小,查找效率高,利于中小型作业 缺点:大型空闲分区少,不利于大作业 * * 快速适应算法(分类搜索法) 按照容量大小对空闲区分类,相同容量的空闲区单独设立空闲分区链表,另外系统中还增设一个空闲区链表管理索引表,用来记录各链表的头指针 分类时根据进程常用空间大小划分,特殊大小的分区可单独管理或插入容量最接近的链表 算法描述 根据进程申请空间大小选择最合适的链表,从中取出第一个空间分配给进程即可 优点:查找效率高,不会产生内存碎片,可满足大型作业的空间需求 缺点:分区回收复杂,系统开销大,各进程使用的分区中空间浪费严重 * * 分区分配操作 分配内存 作业或进程提出内存请求n时,在链表或表格中寻找一个容量为m,且满足m-nsize(size是事先规定的不再切割的剩余分区的大小)的分区,从中划分出作业(进程)需要的空间并将首址返回给作业(进程),剩余部分仍然作为空闲区加入链表或表格中进行管理 * * 分区分配操作 回收内存 进程完成工作释放内存后,系统应及时将其插入空闲链表 回收区前有空闲区:将回收区与前面的空闲区合并,此时仅需要修改原空闲区的大小即可 回收区后有空闲区:将回收区与后面的空闲区合并,此时仅需要修改原空闲区的基址位置和大小即可 回收区前后均有空闲区:将三个分区合并,修改前面的空区大小为三个分区总和,取消后面的空闲区记录 回收

文档评论(0)

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

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

1亿VIP精品文档

相关文档