本实验通过编程模拟计算机内存管理中的动态分区分配策略,旨在帮助学生理解不同分配算法的特点及其对系统性能的影响。
要求如下:
1. 使用空闲区链管理内存中的空闲分区,在分配内存时优先考虑低地址部分的空闲区域。
2. 实现首次适应算法、最佳适应算法以及最坏适应算法,模拟内存空间动态分配与回收过程,并在每次操作后显示详细的空闲区链信息。当申请失败时,需打印当前内存占用情况的信息。
3. 进程对内存空间的请求和释放应由用户自定义输入完成。
参考测试序列如下:
(1) 初始状态下可用内存为640KB;
(2) 进程1申请130KB;
(3) 进程2申请60KB;
(4) 进程3申请100KB;
(5) 进程2释放已使用的60KB空间;
(6) 进程4申请200KB;
(7) 进程3释放其占用的100KB内存;
(8) 进程1释放之前获得的130KB内存;
(9) 新进程5请求使用140KB的空间;
(10) 新进程6尝试获取60KB空间;
(11) 新进程7申请分配50KB内存;
(12) 最后,进程6将其占用的60KB释放。
测试用例格式示例如下:
输入: 动态分区管理算法的选择 可用初始内存大小 序号/进程标识符 操作(申请或释放) 容量
其中动态分配策略选项为:
(1 ) 选择1代表首次适应;
(2) 选择2表示最佳适应。