在内存分配的"最佳适应法"中,空闲块是按( )。
A.始地址从小到大排序 B.始地址从大到小排序
C.块的大小从小到大排序 D.块的大小从大到小排序
链接:/questionTerminal/443507feec4e4000867af7dee7a1ce06
最优适应算法:通常将空闲区按长度递增顺序排列。查找时总是从最小一个空闲区开始,直到找到满足要求的分区为止。此算法保证不会分割一个更大的区域,使得装入大作业的要求容易得到满足。
补充:
最先适应算法:通常将空闲区按地址从小到大排列。查找时总是从低地址开始,可使高地址尽量少用,以保持一个大空闲区,有利于大作业的装入;缺点是内存低地址和高地址两端的分区利用不平衡,回收分区较麻烦。
最坏适应算法:通常将空闲区按长度递减顺序排列 。查找时从最大的一个空闲区开始,总是挑选一个最大的空闲区分割给作业使用,其优点是使剩下的空闲区不致于太小,这样有利于中小型作业,但不利于大作业。
这些都属于可变分区分配算法,当然还有下次适应分配算法和快速适应分配算法。
注:这些算法理解即可。
(1)首次适应算法:把内存中的可用分区单独组成可用分区表或可用分区自由链,按起始地址递增的次序排列。每次按递增次序向后找。一旦找到大于或等于所要求内存长度的分区,则结束探索,从找到的分区中找出所要求内存长度分配给用户,并把剩余的部分进行合并。 (2)循环适应算法:上述首次适应法经常利用的是低地址空间,后面经常可能是较大的空白区,为使内存所有线性地址空间尽可能轮流使用到,每重新分配一次,都在当前之后寻找。 (3)最佳适应算法:最佳适应算法是将输入作业放入主存中与它所需大小最接近的空白区中,使剩下的未用空间最小,该法要求空白区大小按从小到大次序组成空白区可用表或自由链。在进行分配时总是从最小的一个开始查询,因而找到的一个能满足要求的空白区便是最佳的一个。 (4)最差适应算法:分配时把一个作业程序放入主存中最不适合它的空白区,即最大的空白区(空闲区)内。
C
用户登录可进行刷题及查看答案
登录后提交答案