操作系统课程设计任务书132.pdf
inttype;/*0代表,1代表普通文件*/
structDirectoryNode*next;/*指向下一个兄弟结点的指针*/
structDirectoryNode*preDirFile;/*指向父结点的指针*/
structDirectoryNode*subFile;/*指向第一个子结点的指针*/
intsize;/*如果是文件则表示文件的大小*/
intfirst;/*起始盘块号*/
intlast;/*末尾盘块号*/
intorder;/*备用*/
};
//连续分配
structFileSys{
intVacTable[NumDisk];//空闲表,0为空闲,1为被用
structDirectoryNoderoot;//根
structDirectoryNodeDirectory[NumDisk];
}*filesys;
typedefstruct{
structDirectoryNode*DirFile;
charname[9];
}DataType;//包含一个指向的指针和名字
typedefstruct{//队列结构的实现
DataTypedata[MaxSize];
intfront,rear;//分别表示队列的头结点和尾结点
}Tp;
voidInitQueue(Tp*sq)//队列初始化
intEnAddQueue(Tp*sq,DataTypedata)//在队列中增加元素
DataTypeEnDelQueue(Tp*sq)//从队列中删除一个元素
intEmpty(Tp*sq)//判断队列是否为空,返回0表示队列为空
①.Dir:显示内容命令,显示当前下的文件和子。
②.Md:创建操作。
③.Create:创建文件,在当前下创建一个文件。
④.all:显示从根开始的所有和文件及其层次结点。
⑤.Cd:改变。
⑥.Del:删除文件操作。
⑦.Rd:删除操作,删除当前下的子。
⑧.Ren:重命名函数
⑨.Exit:命令
开发环境:VC++6.0
小组成员:
2.题目:进程调度算法的设计(3人/组)
设计要求:
①设计进程控制块PCB表结构,分别适用于不同的进程调度算法。
②建立进程就绪队列。对以下不同的算法编制入链子程序。
③编制如下进程调度算法:
1)循环轮转调度算法;
2)高响应比优先调度算法;
3)多级反馈队列调度算法
开发环境:VC++6.0
设计技术参数
①本程序用三个算法对五个进程进行调度,每个进程可有三个状态,并假设初始状态
为就绪状态。
②为了便于处理,程序中的某进程运行时间以时间片为单位计算。各进程的轮转时间
数以及进程需运行的时间片数的初始值均由用户给定。
③在轮转算法中,采用固定时间片(即:每执行一次进程,该进程的执行时间片数为
已执行了2个单位),这时,CPU时间片数加2,进程还需要的时间片数减2,并排列到
就绪队列的尾上。
开发环境:VC++6.0
小组成员:
3.题目:银行家算法设计(3人/组,不超过7组)
设计要求:编制银行家算法通用程序,并检测所给状态的系统安全性。
设进程I提出请求Request[N],则银行家算法按如下规则进行判断。