操作系统综合题之“采用动态分区分配算法下的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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现