一、知识总览
二、时间片轮转调度算法
1. 时间片轮转调度算法
轮流让就需队列中的进程一次执行一个时间片(每次选择的都是排在就绪队列队头的进程)。常用于分时操作系统,更注重“响应时间”。
2. 算法思想
公平的、轮流地为各个进程服务,让每个进程在一定时间间隔内都可以得到响应。
3. 算法规则
按照各进程到达就绪队列的顺序,轮流让各个进程执行一个时间片(如100ms)。若进程未在一个时间片内执行完,则剥夺处理机,将进程重新放到就绪队列队尾重新排队。
4. 用于作业/进程调度
用于进程调度(只有作业放入内存建立了相应的进程后,才能被分配处理机时间片)
5. 是否可抢占
若进程未能在时间片内运行完,将被强行剥夺处理机使用权,因此时间片轮转调度算法属于抢占式的算法。由时钟装置发出时钟中断来通知CPU时间片已到。
6. 优点
公平、响应快,适用于分时操作系统。
7. 缺点
由于高频率的进程切换,因此有一定开销;不区分任务的紧急程度。
8. 是否会导致饥饿
不会。
9. 例题
各进程到达就绪队列的时间、需要的运行时间如下表。使用时间片轮转调度算法,分析时间片大小分别尾2、5时的进程运行情况。
答:
10. 注
如果时间片太大,使得每个进程都可以在一个时间片内就完成,则时间片轮转调度算法退化为先来先服务调度算法,并且会增大进程响应时间,因此时间片不能太大。例如:系统中有10个进程在并发执行