操作系统综合题之“采用动态分区分配算法下的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的分配,这里就都放到第一个空闲分区块中
* 博客文章部分截图及内容来自于学习的书本及相应培训课程,仅做学习讨论之用,不做商业用途。
* 如有侵权,马上联系我,我立马删除对应链接。
* 备注:王子威
* 我的网易邮箱:wzw_1314_520@163.com