编译原理 第8章节 程序运行时的存储组织.pptVIP

  • 16
  • 0
  • 约8.2千字
  • 约 41页
  • 2018-11-17 发布于湖北
  • 举报

编译原理 第8章节 程序运行时的存储组织.ppt

编译原理 第8章节 程序运行时的存储组织

第8章 程序运行时的存储组织及管理(P158) 学 习 重 点 小 结 习 题(P168) 习 题 堆式存储管理方法: 2、变长块的管理(常用) 系统在运行期间分配给用户的内存块的大小不固定,可以随请求而变。 8.4 堆式动态存储分配 变长块的分配策略: 假设用户请求一个大小为n的存储块,而“可利用空间链表”中仅有一块大小为m(m≥n)的空闲块,则分配时只需将大小为n的部分分配给申请的用户,同时将剩余的m-n部分作为一个结点留在链表中即可。 若可利用空间表中有若干个大于n的空闲块时,可采用首次满足法、最优满足法或最差满足法来分配块。 8.4 堆式动态存储分配 首次满足法:从表头指针开始查找可利用空间表,将找到的第一个大小不小于n的空闲块的一部分分配给用户。可利用空间表本身既不按结点的初始地址排序,也不按结点的大小排序。在回收时,只要将释放的空闲块插入在链表的表头即可。 ? 8.4 堆式动态存储分配 最优满足法:系统在分配前首先要对可利用空间表从头至尾扫描一遍,然后从中找出一块不小于n且最接近n空闲块进行分配给用户。为了提高效率,通常预先将“可利用空间表”按空间的大小从小到大进行排序。在回收时,必须将释放的空闲块插入到合适的位置上去。 最差满足法:将可利用空间表中不小于n且是链表中最大的空闲块的一部分分配给用户。为了减少查找时间,应该对“可利用空间表”按空闲

文档评论(0)

1亿VIP精品文档

相关文档