计算机学院综合性、设计性实验报告课程名称计算机操作系统指导教师本组成员学号姓名实验地点计科楼216实验时间2015/12/6项目名称进程调度实验类型综合性/设计性一、实验目的:通过动态优先权调度算法和时间片轮转调度算法的模拟加深进程概念和进程调度过程的理解
二、实验仪器或设备:计算机一台三、总体设计整个程序可由主程序和如下7个过程组成:(1)在优先数算法中,将尚未完成的PCB按优先数顺序插入到就绪队列中;(2)在时间片轮转算法中,将执行了一个时间片单位(为2),但尚未完成的进程的PCB,插到就绪队列的队尾;(3)调度就绪队列的第一个进程投入运行;(4)显示每执行一次后所有进程的状态及有关信息
(5)创建新进程,并将它的PCB插入就绪队列;(6)按优先数算法调度进程;(7)按时间片轮转法调度进程
四、实验步骤#include#include#includetypedefstructnode{charname[20];intprio;/*进程的优先级*/intround;/*分配CPU的时间片*/intcputime;/*CPU执行时间*/intneedtime;/*进程执行所需要的时间*/charstate;/*W:就绪态,R:执行态,F:完成态*/intcount;structnode*next;}PCB;PCB*ready=NULL,*run=NULL,*finish=NULL;/*就绪队列、执行队列完成队列*/intnum;voidGetFirst();/*绪队列取第一个节点*/voidOutput();voidInsertFinish(PCB*in);/*时间片队列*/voidPrioCreate();/*优先级输入*/voidInsertPrio(PCB*in);/*创建优先级队列*/voidPriority();/*按照优先级调度*/voidTimeCreate(