操作系统首次拟合算法

时间:2012-10-15 01:32:49

标签: algorithm memory-management operating-system

这是一个免费的空间表

+--------+-------+
|address | size  | 
|   28   |  11   |
|   21   |  19   |
+--------+-------+

以下数据输入:11, 5, 7

我需要使用第一个拟合算法将每个数据放在正确的位置。

我这样做了吗?

(步骤1)11将被放置在地址28处,大小为11

(步骤2)5将把19分成两部分放在地址21,这样就创建了14个(新分区)

(步骤3)7将被放置在步骤(2)中创建的大小为14的地址21

1 个答案:

答案 0 :(得分:1)

看起来是正确的,除了7长的条目没有进入地址21,因为那时5将会到达。 7长的入口可能会在地址21 + 5 = 26。如果表中的搜索按照表格的显示顺序进行,或者从较高地址到较低地址进行搜索。此外,最后一步也会生成一个新分区。

如果,OTOH,搜索是在相反的方向进行,那么结果是不同的。

再想一想,这一切看起来都不正确。为什么21 + 19 = 40> 28?或者这些是结束的地址而不是免费分区的开头???但是28-11 = 17< 21。

不计算。

你的作业中有些错误或缺失。