实验(三)模拟存储器分配算法
1、 实验目的
了解动态分区分配方式中使用的数据结构和分配算法,并进一步加深对动态分区存储管理方式及其实现过程的理解。
2、 实验内容
(1) 用C语言分别实现采用首次适应算法和最佳适应算法的动态分区分配过程alloc()和回收过程free()。其中,空闲分区通过空闲分区链来管理;在进行内存分配时,系统优先使用空闲区低端的空间。
(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、 思考
(1) 采用首次适应算法和最佳适应算法,对内存的分配和回收速度有什么不同的影响?
(2) 如何解决因碎片而造成内存分配速度降低的问题?
1