- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
动态存储管理.ppt
第8章 动态存储管理 扬州大学信息学院 本章目录 8.1 概述 8.2 可利用空间表及分配办法 8.3 边界标识法 8.4 伙伴系统 动态存储管理 知识点 概念,动态存储管理 的基本问题 可利用空间表的结构及三种分配方法 边界标识法的分配和回收算法 伙伴系统的分配和回收算法 重点和难点 伙伴系统的分配和回收 伙伴地址的计算 基本概念 动态存储管理研究的基本问题:系统如何按用户的要求分配内存;当用户使用完毕,系统如何回收内存。 “占用块”:分配给用户使用的地址连续的内存区。 “空闲块”:未曾分配的地址连续的内存区,也称“可利用空间块” 可利用空间表:把可利用空间表看做是一个“存储池”,它有以下三种不同的结构形式: 第一种情况是系统运行期间所有用户请求分配的存储量大小相同 ; 第二种情况是系统运行期间用户请求分配的存储量有几种大小的规格 ; 第三种情况,系统在运行期间分配给用户的内存块大小不固定 。 基本概念 运行中如何分配内存 继续从高地址空闲块进行分配,直至无法分配,再去回收用户释放的内存,重组内存,并分配。 用户一旦运行结束,便将其占用的内存释放成空闲块。 概念:可利用空间表(目录表,链表) 运行中如何分配内存 基本概念 可利用空间表的结点结构: 结点大小相同 结点大小不同,但只有几种规格 各种大小的结点链接在一个链表中 可利用空间表的分配方式: 最先适配法 最佳适配法 最差适配法 边界标识法 边界标识法:系统将所有的空闲块链接在一个双重循环链表结构的可利用空间表中,无须从头到尾扫描链表也能确定一个释放块的相邻块是否为空闲。 边界标识法的结点结构 边界标识法的分配算法 边界标识法的回收算法 伙伴系统 伙伴系统:在用户提出空间申请时,应当分配一块大小合适的内存块给用户,当用户释放占用块时,操作系统要回收被释放的空闲块 伙伴系统 伙伴系统 的分配算法 若2k-1n=2k-1,且第k+1个子表不空,则删除此链表中一个结点,分配给用户。 若2k-2n=2k-1-1,由于大小为2k的子表为空,则从取出一个结点,将一半分给用户,另一半插到大小为2k-1的子表中。 伙伴系统 的回收算法 起始地址为p大小为2k的内存块,其伙伴块的起始地址: 例:空闲区的大小为210=1024,地址从0到1023。 如果一个块的大小为28,起始地址为512,则它的伙伴块的起始地址为768。 如果大小为27,起始地址为384,则伙伴块的起始地址为256。 下图所示的伙伴系统中,回收两块首地址分别为768及128,大小为27的存储块,请画出回收后该伙伴系统的状态图。 伙伴系统 的回收算法 * * 朱俊武 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) 链表 tag uplink space rlink size tag llink head foot 1、设空闲块的容量为m,用户申请的大小为n,若m-n=e(常量),则将m分配给用户。 2、每次分配后,链表指针pav后移,指向刚分配结点的后继结点。 若用户释放占用块,则系统回收,并尽可能和比邻的空闲块结合成大的空闲块。 1、空闲块和左邻空闲块合并; 2、空闲块和右邻空闲块合并; 3、 空闲块和左、右邻空闲块合并; llink tag=0 kval rlink space · 0 m · 20 ∧ 21 ∧ ┇ 2k ∧ 2m · (a) (d) (b) (c) ┇ 20 ∧ ┇ 2k-1 ∧ 2k · 2m ∧ · 0 k · · 0 k · ┇ · 0 k · 20 ∧ ┇ 2k-1 · 2k · 2m ∧ · 0k-1 · · 0 k · · 0 k · ┇ 因为768 % 27+1=0,所以768和768+27=896互为伙伴, 伙伴合并后,首址为768,块大小为28。因为768 % 28+1=28,所以,所以首址7
您可能关注的文档
最近下载
- 中石油HSE培训课件.pptx VIP
- 英格索兰控制器 KT-09B 说明书v1.5(含通讯协议地址表).pdf
- 2022年森林防灭火知识培训考核试题及答案(共100题).docx VIP
- K波段多通道射频收发模块高隔离度设计与实现.docx VIP
- 吉林大学《思想道德与法治 》2023-2024学年第二学期期末试卷.docx VIP
- 自动控制原理(北京交大)中国大学MOOC慕课 章节测验 客观题答案.docx VIP
- 27.3 第2课时 圆锥的侧面积和全面积(课件)九年级数学下册(华东师大版).pptx VIP
- 剪映的基础操作(剪映短视频创作案例教程).pptx VIP
- 闪存储emc规格书emmc08g-t227.pdf VIP
- 家庭常见急症处理方法.pptx VIP
原创力文档


文档评论(0)