实验目的:了解动态分区分配方式中使用的数据结构和分配算法,并进一步加深对动态扮区存储管理方式及其实现过程的理解。 实验内容:1、分别实现首次适应算法和最佳适应算法的动态分区分配过程和回收过程。其中,空闲分区通过空闲区链进行管理;进行内存分配时,系统优先使用空闲区低端的空间。 2、假设初试状态下,可用的内存空间为640KB,并有下列的请求序列: 作业1申请 130KB 作业2申请 60KB 作业3申请 100KB 作业2释放 60KB 作业4申请 200KB 作业3释放 100KB 作业1释放 130KB 作业5申请 140KB 作业6申请 60KB 作业7申请 50KB 作业6释放 60KB 3、每次分配和回收后显示空闲内存分区链情况。 4、源程序 //首次适应算法 最佳适应算法 //空闲分区链 //优先使用低端空间 // 1 q 130k ;2 q 60k; 3 q 100k ;2 s 60k ;4 q 200k ;3 s 100k; //1 s 130k; 5 q 140k ;6 q 60k;7 q 50k;6 s 60k; /* .采用动态分区分配,但不采用紧凑算法。 .假设系统内存容量为640KB。 .要能处理内存回收的时候上下邻合并的问题。 .能够处理以下的情形: ..(1)随机出现的进程i申请jKB内存,程序能判断是否能 分配,如果能分配,要把分配的首地址Handle输出到屏幕 上。不能分配输出字符串“NULL”。 ..(2)释放随机的首地址为Handle的内存块。释放成功返回 Success,否则返回Failure ..(3)内存情况输出,要求输出内存使用情况和空闲情况。 内存情况输出的格式为: Haddress该分区的首地址 ...... |
查看评论
已有0位网友发表了看法