可变分区分配算法 设某时刻系统中有3个空闲区,其大小和首址分别为:(20KB,130KB)、(9KB,156KB)、(80KB,200KB),现有作业依次为9KB、50KB、15KB。分别用首次适应、下次适应算法、最佳适应和最坏适应算法对下列作业进行分配,并根据分配的结果对算法进行比较。
时间: 2023-07-10 21:27:00 浏览: 147
首次适应算法:
- 9KB:分配到第一个空闲区(20KB,130KB),剩余空间为11KB。
- 50KB:分配到第三个空闲区(80KB,200KB),剩余空间为30KB。
- 15KB:分配到第二个空闲区(9KB,156KB),剩余空间为-6KB,无法分配。
下次适应算法:
- 9KB:分配到第一个空闲区(20KB,130KB),剩余空间为11KB。
- 50KB:分配到第三个空闲区(80KB,200KB),剩余空间为30KB。
- 15KB:分配到第一个空闲区(20KB,130KB),剩余空间为5KB。
最佳适应算法:
- 9KB:分配到第一个空闲区(20KB,130KB),剩余空间为11KB。
- 50KB:分配到第三个空闲区(80KB,200KB),剩余空间为30KB。
- 15KB:分配到第一个空闲区(20KB,130KB),剩余空间为5KB。
最坏适应算法:
- 9KB:分配到第一个空闲区(20KB,130KB),剩余空间为11KB。
- 50KB:分配到第三个空闲区(80KB,200KB),剩余空间为30KB。
- 15KB:分配到第三个空闲区(80KB,200KB),剩余空间为65KB。
根据上述分配结果,可以得出以下结论:
- 首次适应算法和下次适应算法的分配结果相同,但是下次适应算法可以避免每次都从头开始搜索空闲区,因此效率更高。
- 最佳适应算法的分配结果与首次适应算法和下次适应算法的结果不同,但是最佳适应算法可以避免浪费大量的空闲空间,因此可以更好地利用内存。
- 最坏适应算法的分配结果与其他算法的结果都不同,但是最坏适应算法往往会产生大量的外部碎片,影响内存的利用效率。