假设某计算机系统的内存大小为256K,在某一时刻内存的使用情况如下表所示
起始地址 | 0K | 10K | 25K | 45K | 95K | 120K | 150K | 155K | 190K | 200K |
状态 | 已用 | 未用 | 已用 | 已用 | 未用 | 已用 | 未用 | 已用 | 已用 | 未用 |
容量 | 10K | 15K | 20K | 50K | 25K | 30K | 5K | 35K | 10K | 56K |
此时,若进程顺序请求20K和5K的存储空间,系统采用某种算法为进程分配内存,分配后的内存情况如下表所示。
起始地址 | 0K | 10K | 25K | 45K | 95K | 100K | 120K | 150K | 155K | 190K | 200K | 220K |
状态 | 已用 | 未用 | 已用 | 已用 | 已用 | 未用 | 已用 | 未用 | 已用 | 已用 | 已用 | 未用 |
容量 | 10K | 15K | 20K | 50K | 5K | 20K | 30K | 5K | 35K | 10K | 20K | 36K |
那么,系统采用的是什么分配算法
最佳适配
最差适配
首次适配
下次适配
答案
最差适配
解析
最差适应算法(Worst Fit),也称最差适配算法:它从全部空闲区中找出能满足作业要求的、且大小最大的空闲分区,从而使链表中的结点大小趋于均匀,适用于请求分配的内存大小范围较窄的系统。
为适应此算法,空闲分区表(空闲区链)中的空闲分区要按大小从大到小进行排序,自表头开始查找到第一个满足要求的自由分区分配。该算法保留小的空闲区,尽量减少小的碎片产生。根据题目中的两个表格的比较,把最大的空闲区用了,所以是最差适配法。