实验三 可变分区存储管理
1. 目的和要求
通过这次实验,加深对内存管理的认识,进一步掌握内存分配、回收算法
的思想。
2 实验内容
阅读教材《计算机操作系统》第四章,掌握存储器管理相关概念和原理。
编写程序模拟实现内存的动态分区法存储管理。内存空闲区使用自由链管
理,采用最坏适应算法从自由链中寻找空闲区进行分配,内存回收时假定不做
与相邻空闲区的合并。
假定系统的内存共 640K,初始状态为操作系统本身占用 64K。在 t1 时间
之后,有作业 A、B、C、D 分别请求 8K、16K、64K、124K 的内存空间;在
t2 时间之后,作业 C 完成;在 t3 时间之后,作业 E 请求 50K 的内存空间;在
t4 时间之后,作业 D 完成。要求编程序分别输出 t1、t2、t3、t4 时刻内存的
空闲区的状态。
3. 实验环境
Windows 操作系统、VC++6.0
C 语言
4. 实验提示
用 C 语言实现提示:
1. 程序中自由链队列的结点类型可描述如下:
struct freelink{
int len, address; /* len 为分区长度
/* address 为分区起始地址
struct freelink *next;
}
内存占用区用链表描述,其结点类型描述如下:
struct busylink{
char name; /* 作业或进程名 name=’S’ 表示 OS 占用
int len , address;
struct busylink *next;
}
并设全程量: