理解处理机调度

一. 进程上下文切换

进程切换 -> 处理机调度(挑选就绪队列中的一个PCB) -> 调度程序 -包含->

1) 调度时机(什么时候挑?) -> 可抢占(时钟中断和优先级) 和 非抢占(退出和转等待)
2) 调度策略(如何挑?) -> 调度准则 调度算法

二. 调度准则

1. CPU使用率
2. 吞吐量 传输文件 -> 高带宽
3. 周转时间
4. 等待时间
5. 响应时间 游戏 -> 低延迟

三. 调度算法

1. FCFS算法
依据进程在就绪队列中的排队次序, 先来先提供服务.

举例: 三个进程的计算时间 p1=12, p2=3, p3=3
1) 任务到达顺序: p1 p2 p3
周转时间: (12 + 15 + 18) / 3 = 15

2) 任务到达顺序: p3 p2 p1
周转时间: (3 + 6 + 18) / 3 = 9

说明: 周转时间长, 进程等待时间就长.

2. SPN算法
短进程优先算法具有**最优平均周转时间**.

缺点: 可能导致饥饿.

3. HRRN算法
最高响应比优先算法

选择就绪队列中**响应比R值**最高的进程.

响应比R值 = (等待时间 + 执行时间) / 执行时间

规律: 等待时间越长, 优先级越高 -> SPN算法的改进

4. RR算法
时间片轮转算法
处理机分配的基本单位: 时间片

算法思想: 在FCFS算法基础上, 每个进程执行时间片n之后, 排回就绪队列尾部, 等待下次调度, 直到执行完毕...

5. MQ算法
多级队列调度算法

算法思想: 就绪队列被划分为多个独立的子队列, 每个队列有属于自己的调度算法. 需要考虑队列间的调度.

6. MLFQ算法
多级反馈队列算法

进程可在不同队列间移动.

7. FSS算法
公平共享调度算法

控制用户对系统资源的访问.

三. 实时调度和多处理机调度

任务

猜你喜欢

转载自www.cnblogs.com/shaohsiung/p/9977598.html