网站大量收购闲置独家精品文档,联系QQ:2885784924

第 8 动态存储管理.pptVIP

  1. 1、本文档共21页,可阅读全部内容。
  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章 动态存储管理 本章目录 8.1 概述 8.2 可利用空间表及分配办法 8.3 边界标识法 8.4 伙伴系统 动态存储管理 知识点 概念,动态存储管理 的基本问题 可利用空间表的结构及三种分配方法 边界标识法的分配和回收算法 伙伴系统的分配和回收算法 重点和难点 伙伴系统的分配和回收 伙伴地址的计算 基本概念 动态存储管理研究的基本问题:系统如何按用户的要求分配内存;当用户使用完毕,系统如何回收内存。 “占用块”:分配给用户使用的地址连续的内存区。 “空闲块”:未曾分配的地址连续的内存区,也称“可利用空间块” 可利用空间表:把可利用空间表看做是一个“存储池”,它有以下三种不同的结构形式: 一、系统运行期间用户请求分配的存储量大小相同 二、系统运行期间用户请求分配的存储量有几种大小的规格 三、系统在运行期间分配给用户的内存块大小不固定 基本概念 运行中如何分配内存 继续从高地址空闲块进行分配,直至无法分配,再去回收用户释放的内存,重组内存,并分配。 用户一旦运行结束,便将其占用的内存释放成空闲块。 概念:可利用空间表(目录表,链表) 运行中如何分配内存 基本概念 可利用空间表的结点结构: 结点大小相同 结点大小不同,但只有几种规格 各种大小的结点链接在一个链表中 可利用空间表的分配方式: 最先适配法 最佳适配法 最差适配法 边界标识法 边界标识法:系统将所有的空闲块链接在一个双重循环链表结构的可利用空间表中,无须从头到尾扫描链表也能确定一个释放块的相邻块是否为空闲。 可利用空间表的结点结构 边界标识法的分配策略 双向链表无头结点 pav指针指向刚进行过分配的结点的后继结点。 n-m=ε时分配整个结点 边界标识法的回收策略 回收空闲块的处理分为四种情况: 1. 释放块的左、右邻块均为占用块 2. 右邻块是空闲块, 3. 左邻块是空闲块 4. 左、右邻块均为空闲块 伙伴系统 伙伴系统:在用户提出空间申请时,应当分配一块大小合适的内存块给用户,当用户释放占用块时,操作系统要回收被释放的空闲块 伙伴系统中的结点结构 伙伴系统的分配策略 用户申请的空间n 如果n满足2k-1? n ? 2k ,且第k+1个子表非空 如果2k-2? n ? 2k-1, 2k-1的链表为空, 伙伴系统的回收策略 合并策略:只有伙伴才能合并 设大小为2k的内存块的起始地址为p,则其伙伴块的起始地址为: 自测题 8.1 (1)地址为(1664)10大小为(128)10的存储块的伙伴地址是什么? (2)地址为(2816)10大小为(64)10的存储块的伙伴地址是什么? 【清华大学 1996 四】 (1)buddy(1664,7)=1664-128=1536 (2)buddy(2816,6)=2816+64=2880 自测题 8.2 已知一个大小为512个字长的存储,假设先后有6个用户申请大小分别为23,45,52,100,11和19的存储空间,然后再顺序释放大小为45,52,11的占用块。假设以伙伴系统实现动态存储管理。 (1) 画出可利用空间表的初始状态。 (2) 画出为6个用户分配所需要的存储空间后可利用空间表的状态以及每个用户所得到的存储块的起始地址。 (3) 画出在回收3个占用块之后可利用空间表的状态。 【清华大学1998三(15分)】 【同济大学 1999】 自测题 8.2参考答案1 自测题 8.2参考答案2 自测题 8.2参考答案3 * * 陈守孔 讲授 U1 U2 U3 U4 U5 U6 U1 U3 U4 U6 (a) (b) 图 动态存储分配过程中的内存状态 系统运行初期 (b) 系统运行一段时间以后 0 10000 25000 31000 39000 59000 99999 (a) 起始地址 内存块大小 使用情况 10000 15000 空闲 31000 8000 空闲 59000 41000 空闲 (b) av 动态存储管理过程中的内存状态和可利用空间表 (a) 内存状态 (b) 目录表 (c) 链表 rlink tag llink llink space tag uplink foot head foot head rlink tag llink llink space tag uplink foot head kval tag=0 llink rlink space 192 19 32 11 256 100 128 52

文档评论(0)

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

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

1亿VIP精品文档

相关文档