调度算法2-适用于交互式系统

一、时间片轮转调度算法(RR)

1.算法思想

Round-Robin 公平、轮流地为各个进程服务,让每个进程在一定时间间隔内都可得到响应

2.算法规则

按照各进程到达就绪队列的顺序,轮流让各个进程执行一个时间片

响应比=(等待时间+要求服务时间)/要求服务时间

3.适用对象:只用于进程调度,因为只有作业放入内存建立了相应进程后,才能被分配处理机时间片

4.特点

是一种以时钟中断发出的时间片已到为抢占式信号进行CPU资源的抢占。

若时间片过大时,时间片轮转算法会退化成先来先服务算法。

综合考虑等待时间和运行时间(要求服务时间)。

不会导致饥饿问题,适用于分时系统

二、优先级调度算法

1.算法思想

为了根据任务紧急程度来决定处理顺序,适用于实时操作系统。

2.算法规则

为每个作业/进程设置优先级,调度时选择优先级最高的作业/进程

响应比=(等待时间+要求服务时间)/要求服务时间

3.适用对象:

既可用于作业调度(从外存的后备队列中选择),也可用于进程调度(从内存中的就绪队列中选择),还可进行I/O调度

4.特点

非抢占式-只需在进程主动放弃处理机时进行调度;

抢占式-还需在就绪队列变化时,检查是否会发生抢占。

若时间片过大时,时间片轮转算法会退化成先来先服务算法。

综合考虑等待时间和运行时间(要求服务时间)。

5.补充

静态优先级-创建进程时就确定,此后一直保持不变 

动态优先级-创建进程时初始,此后会根据情况动态调整优先级(等待时间越长,提升优先级)。

系统进程/前台进程优于用户/后台进程;

I/O型进程优于计算型进程,因为I/O设备可与CPU并行工作。

可通过优先级区分紧急程度,调整调度顺序,但同时也会导致低优先级进程发生饥饿现象。

三、多级反馈队列调度算法

1.算法思想

对其他算法的综合考虑

2.算法规则

调度算法2-适用于交互式系统_第1张图片

调度算法2-适用于交互式系统_第2张图片

调度算法2-适用于交互式系统_第3张图片

3.适用对象:用于进程调度

4.特点:

抢占式算法-新进程处于优先级更高的队列中,会抢占处理机

短进程不断到来会导致其它进程发生饥饿现象。

四、总结

调度算法2-适用于交互式系统_第4张图片

你可能感兴趣的:(操作系统学习,笔记)