2012-10-15 46 views
0

这是一个自由空间表操作系统第一拟合算法

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

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

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

我正在做这个对吗?

(步骤1)11将在地址28被放置在尺寸11

(步骤2)5将通过把19被放置在地址21分为两个部分,因此,创建14(新分区)

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

+0

请问哪种操作系统使用这种内存分配? – hsalimi

回答

1

看起来是正确的,除了7长条目不在地址21处,因为那是5那时候会那样。这个7字长的条目可能会在地址21 + 5 = 26。而且,如果表格中的搜索按照表格显示的顺序或从较高地址到较低地址进行。另外,最后一步也产生一个新的分区。

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

在第二个想法,这一切都看起来不正确。 21 + 19 = 40> 28怎么样?或者是这些地址的结尾,而不是免费分区的开始?但是28-11 = 17 < 21.

不计算。

你的任务中有点问题或缺失。