全球旧事资料 分类
中北大学软件学院
实验报告
专业:方向:课程名称:班级:学号:姓名:辅导教师:
软件工程软件开发与测试
操作系统
2017年9月制
f成绩:
实验时间
2017年
11月12日10时至12时
学时数2学
2

1实验名称
动态分区分配方式的模拟
2实验内容
编程分别实现采用首次适应算法和最佳适应算法的动态分区分配过程。
3基本要求
1用C语言分别实现采用首次适应算法和最佳适应算法的动态分区分配过程alloc和回收过程free。其中,空闲分区通过空闲分区链(表)来管理:在进行内存分配时,系统优先使用空闲区低端的空间。2给出初始状态、可用内存空间、请求序列,分别采用首次适应算法和最佳适应算法进行内存块的分配和回收,要求每次分配和回后显示出空闲内存分区链的情况(共有多个空闲分区,每个空闲分区的大小分别为多大)。
4实验原理或流程图
首次适应算法(Firstfit):当要分配内存空间时,就查表,在各空闲区中查找满足大小要求的可用块。只要找到第一个足以满足要球的空闲块就停止查找,并把它分配出去;如果该空闲空间与所需空间大小一样,则从空闲表中取消该项;如果还有剩余,则余下的部分仍留在空闲表中,但应修改分区大小和分区始址。
最佳适应算法(Bestfit):当要分配内存空间时,就查找空闲表中满足要求的空闲块,并使得剩余块是最小的。然后把它分配出去,若大小恰好合适,则直按分配;若有剩余块,则仍保留该余下的空闲分区,并修改分区大小的起始地址。
内存回收:将释放作业所在内存块的状态改为空闲状态,删除其作业名,设置为空。并判断该空闲块是否与其他空闲块相连,若释放的内存空间与空闲块相连时,则合并为同一个空闲块,同时修改分区大小及起始地址。
f5源程序
i
cludeiostreami
cludecmathi
cludestdiohi
cludealgorithmi
cludestri
ghusi
g
amespacestdi
tpos
Size查找位置分区数量最小分割大小structList
i
tid空闲分区编号i
tsad空闲分区首地址i
trom空间i
tstate状态,0为空,1为未满,2为满;L2000structTaski
tidi
tromi
tsadT2000boolcmpListaListbretur
arombromvoidpri
ti
ti
pri
tf
好听全球资料 返回顶部