2.模拟linux内存管理中的Buddy(伙伴)算法,实现页面的回收。
1)假设内存中有16个页面,部分页面是正在使用的,部分页面是空闲的,页面号依次是0,1,。。。15;
2)算法根据buddy算法的原理管理着空闲页面;(注:buddy算法将所有空闲页面根据连续空闲页面的大小,形成多个队列,每个队列中的元素分别代表该空闲区拥有1、2、4、8个空闲页面)
3)在某一时刻,用户的输入页面号请求模拟该页面的释放请求;
4)接收到页面释放的请求后,算法根据空闲页面所在的区域,将其插入或合并后再插入到相应的队列中;
5)输入:16个页面的空闲状态,在程序开始运行时,用户通过输入指定空闲的页面号;用户待回收的页面号
6)输出:提供两个供用户选择的命令,一为指定空闲页面,二为回收页面;每次用户有输入后,立即显示当前内存中各队列的空闲页面号
编程环境:linux c
1