一、设计目的:
本设计模拟在单处理器情况下的时间片轮转进程调度,目的是加深对进程调度工作的理解,掌握不同调度算法的优缺点。
二、设计内容
设计程序模拟单处理机系统中时间片轮转进程调度算法,每个进程由一个进程控制块(PCB)表示。进程控制块包含如下信息:进程名、到达时间、需要运行时间、完成标志与否、进程状态、还需运行的时间等。
进程的需要运行时间和到达时间以及进程运行的时间片人为设定。
每个进程的状态可以是就绪W(Wait)、运行R(Run)或完成F(Finish)3种状态。
时间片轮转调度算法的思想:给每个进程固定的执行时间,根据进程到达的先后顺序让进程在单位时间片内执行,执行完成后便调度下一个进程执行,时间片轮转调度不考虑进程等待时间和执行时间,属于抢占式调度。优点是兼顾长短作业;缺点是平均等待时间较长,上下文切换较费时。适用于分时系统。
三、程序结构:
首先,对所有的进程按到达时间升序排序,这个排序的稳定的,也就是说如果他们同时到达则先输入的排在前面;
接着,把当前时间time赋值为process[1].at;
后来,对就绪队列中的进程一一执行,直到所有进程运行完毕。
自己写的源程序: