时间片轮转算法
系统将所有的就绪进程按先来先服务的原则排成一个队列,每次调度时把 CPU 分配给队首进程,并令其执行一个时间片。当执行的时间片用完时,由一个计时器发出时钟中断请求,调度程序使据此信号来停止该进程的执行(本实验为模拟时间片轮转算法,故没有实现时钟中断请求),并将它送往就绪队列的末尾。然后,再把处理机分配给就绪队列中的下一个进程,同时也让它执行一个时间片。
每次调度时,总是选择就绪队列的队首进程,让其在CPU上运行一个系统预先设置好的时间片。一个时间片内没有完成运行的进程,返回到就绪队列末尾重新排队,等待下一次调度。一个完成的进程,则退出队列。
考虑到新老进程同时插入队列的冲突,我们假设运行过的进程与运行过的进程条件相同时,系统选新进程运行。即在时间片完成时刻,有一个新进程到来,则先将新进程插入就绪队列尾部,然后才将该时间片中未执行完毕的进程插入就绪队列尾部。
1