首页 > 试题广场 > 可变分区存储管理中用链表记录分区使用情况,为应用最先适应
[单选题]

可变分区存储管理中用链表记录分区使用情况,为应用最先适应法 (FF) 分配空闲分区,链表中应该按照下列哪种方法排列?

  • 按分区起始地址递增排列
  • 按分区起始地址递减排列
  • 按分区大小递增排列
  • 按分区大小递减排列
推荐

答案选A;

分区分配算法概念:为把一个新作业装入内存, 须按照一定的分配算法,从空闲分区表或空闲分区链中选出一分区分配给该作业。
常用的以下三种分配算法:

1.首次适应算法(First Fit)简称(FF)
FF算法按地址递增从头扫描空闲分区,如果找到空闲分区大小>=作业大小则分配。如果扫描完空闲分区表都没有找到分区,则分配失败。

2.循环首次适应算法(Next Fit) 简称(NF)
NF算法和FF算法类似,但是NF算法每次分配都会记录下位置,下次分配的时候从记录的位置开始,循环扫描一遍空闲分区。

3.最佳适应算法(Best Fit)简称(BF)
该算法总是把既能满足要求,又是最小的空闲分区分配给作业。为了加速查找,该算法要求将所有的空闲区按其大小排序后,以递增顺序形成一个空白链。这样每次找到的第一个满足要求的空闲区,必然是最优的。

编辑于 2019-10-21 14:12:18 回复(0)
A。考察的是动态分区分配原理中FF为首次适应算法(First Fit)。
FF算法要求空闲分区链以地址递增的次序链接:
  • 在分配内存时,从链首开始顺序查找,直至找到一个大小能满足要求的空闲分区为止;
  • 然后再按照作业的大小,从该分区中划出一块内存空间分配给请求者,余下的空闲分区仍留在空闲链中。
  • 若从链首直至链尾都不能找到一个能满足要求的分区,则此次内存分配失败,返回。

首次适应算法倾向于优先利用内存中低址部分的空闲分区,从而保留了高址部分的大空闲区。这给为以后到达的大作业分配大的内存空间创造了条件。其缺点是低址部分不断被划分,会留下许多难以利用的、很小的空闲分区,而每次查找又都是从低址部分开始,这无疑会增加查找可用空闲分区时的开销。

发表于 2019-10-19 07:04:07 回复(0)
A,最先适应法从起始地址向后搜寻,若找到第一个能容纳下的空间便存放
发表于 2019-10-18 14:54:48 回复(1)