二、实验中使用的数据结构及符号
本次实验采用 C 编写,将内存空间定义为结构体链表,成员有作业名 name[20]、作业
首址 s_add、作业长度 length 及下一节点的指针 next;空闲分区表定义为结构体数组,成员
有空闲区首址 s_add、空闲区长度 length、表项状态 state。
函数有:初始化链表的 InitList(LinkList &L)函数,为 L 申请空间;输出主存及空闲分
区表的 Print(LinkList Mem_Pla, struct partable table[10])函数,将主存和空闲分区表的作业及
空闲区信息输出;初始化主存及空闲分区表的 Init(LinkList &Mem_Pla, struct partable
table[])函数,在主存中装入三个作业,形成两个空闲区,确定空闲区说明表的初值。创建
作业的 Cre_N(struct LNode &temp, LinkList &Mem_Pla)函数,输入作业信息,检查主存中
是否有同名的作业,决定作业创建是否成功;插入主存的 Ins_J(LinkList &Mem_Pla, struct
partable table[], struct LNode temp)函数,将创建的作业插入主存,并修改空闲分区表的数据;
撤销作业的 Rev_J(LinkList &Mem_Pla, struct partable table[])函数,撤销用户指定的作业;
判断主存是否为空的 Empty(struct partable table[])函数,由于操作系统驻留主存,所以主存
为空时,主存空间为 123,并以此来判断主存是否为空。
三、流程图
评论8
最新资源