操作系统综合题之“采用动态分区分配算法下的3种算法(首次适应算法、循环首次适应算法、最佳适应算法),画出分配资源后的空闲区链”

一、问题:当空闲链如下图,

第一个空闲分区起始地址为20KB,大小为120KB;

第二个空闲分区起始地址为200KB,大小为100KB;

第三个空闲分区起始地址为400KB,大小为60KB。

若某进程P1先申请大小为30KB的内存空间,

随后进程P2再申请大小为20KB的内存空间,

画出给P1分配完之后的空闲链和给P2分配完的空闲链

1.若系统采用首次适应算法,请画出分配资源后的空闲链表

2.若系统采用循环首次适应算法,请画出分配资源后的空闲链表

3.若系统采用最佳适应算法,请画出分配资源后的空闲链表

 

二、参考答案

1.首次适应循环算法,两个进程都分配到第一个空闲区链中,所以空闲区:120-30-20 = 70   分区起始地址:20+30+20 =70

 2.循环首次适应算法,两个进程分配到不同的空闲分区链中,30分到第一个,20分到第二个

3.最佳适应算法,先根据分区大小进行从小到大排序,然后再给符合分区大小的分配,因为排序后60最小所以放到最前面,而60 - 30 还剩30可以满足P2的分配,这里就都放到第一个空闲分区块中

 

 

posted @ 2024-04-07 16:28  骚哥  阅读(129)  评论(0编辑  收藏  举报