0

这是一个空闲空间表

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

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

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

我这样做对吗?

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

(步骤 2)将 19 分成两部分,将 5 放置在地址 21,因此创建 14(新分区)

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

4

1 回答 1

1

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

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

转念一想,这一切看起来都不对劲。为什么 21+19=40 > 28?或者这些是结束的地址而不是空闲分区的开始???但随后 28-11=17 < 21。

不计算。

你的作业有问题或遗漏。

于 2012-10-15T03:40:59.770 回答