存储器管理——基于顺序搜索的动态分区分配算法习题

某操作系统采用可变分区分配存储管理方法,用户区为512K且始址为0。若分配采用分配空闲区低地址部分的方案,对下述申请序列:
申请310K,申请100K,释放310K,申请150K,申请40K,申请30K。
分别采用首次适应算法、最佳适应算法,回答下列问题:
(1)给出每一步的已分配空间、空闲分区(给出始址,大小)?
(2) 若再申请120K,还能分配这120K存储空间吗?

答:首次适应算法:

操作: 已分配空间 空闲块
初始 (0,512K)
申请310K (0,310K) (310K,202K)
申请100K (0,310K)(310K,100K) (410K,102K)
释放310K (310K,100K) (0,310K)(410K,102K)
申请150K (0,150K)(310K,100K) (150K,160K)(410K,102K)
申请40K (0,150K)(150K,40K)(310K,100K) (190K,120K)(410K,102K)
申请30K (0,150K)(150K,40K)(190K,30K)(310K,100K) (220K,90K)(410K,102K)

如再申请空间120K空间,由上述结果可知,采用首次适应算法后剩下的空闲分区没有大于120K的空闲空间,不能满足这一申请要求。

最佳适应算法:

操作: 已分配空间 空闲块
初始 (0,512K)
申请310K (0,310K) (310K,202K)
申请100K (0,310K)(310K,100K) (410K,102K)
释放310K (310K,100K) (0,310K)(410K,102K)
申请150K (0,150K)(310K,100K) (150K,160K)(410K,102K)
申请40K (0,150K)(310K,100K)(410K,40K) (150K,160K)(450K,62K)
申请30K (0,150K)(310K,100K)(410K,40K)(450K,30K) (150K,160K)(480K,32K)

如再申请空间120K空间,由上述结果可知,采用最佳适应算法后剩下的空闲分区有大于120K的空闲空间(空闲块(150K,160K)),能满足这一申请要求。

发布了9 篇原创文章 · 获赞 1 · 访问量 464

猜你喜欢

转载自blog.csdn.net/cMengZ/article/details/103681828
今日推荐