操作系统课程设计_最佳适应算法的C++编程.docVIP

  • 16
  • 0
  • 约4.84千字
  • 约 6页
  • 2017-08-11 发布于河南
  • 举报

操作系统课程设计_最佳适应算法的C++编程.doc

操作系统课程设计_最佳适应算法的C++编程.doc

操作系统课程设计_最佳适应算法的C++编程 来源: 发布时间:2007-08-31 ? 一.程序说明: 本程序在vc++6.0上运行通过,考虑到很多种情况. (1)、我发现书上所说的当回收块与空闲块相连的那些情况,没有必要每种情况都写一个条件语句,然后用不同的语句来连接那些相连的内存块(这种做法见下面源程序中黑体字部分)。我使用的方法是在accept时不考虑是否会和已存在的空闲块相连,直接将它回收,然后按照首地址大小排序,再利用link函数将只要是相连的内存块都连起来。 (2)、当使用assign函数分配空闲块时,如果空闲块正好被分完(即空闲块的SIZE=0)时打印输出的数据会是一组首地址和尾地址相等,而size=0的数据,这显然不符合逻辑,因为首地址等于尾地址时size=1,而不是零!所以我想到了两种办法让刚好被分配完的空闲块不输出,第一种办法(见以下注释部分的print()函数部分的函数)只是屏蔽掉了SIZE=0的数据,而它们还是存在,即没有被真正的消灭掉,只是仅仅没被打印出来,这种做法将产生一种致命的后果,当SIZE=0的数据项非常多时将占用很多系统资源,运行程序时可能会死机!第二种做法(即源程序中所使用的print函数)才真正的将SIZE=0的数据项消灭掉。 (3)、程序中的accept函数回收内存时,只要输入的想回收的内存块中有一个区域(哪怕是SIZE=1的一

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档