专题四 进程的调度(未完)

4.进程的调度

4.1 进程调度概念

1. 进程的调度:
合适的时候,以一定的策略选择一个就绪进程运行

2. 调度时考虑的问题:
– 调度的时机
– 调度的策略
– 调度的目标:

调度的目标:
– 响应速度尽可能快
– 进程处理的事件尽可能短
– 系统吞吐量尽可能大
– 资源利用率尽可能高
– 对所有进程要公平
– 避免饥饿
– 避免死锁

3. 调度性能评价标准
(1)CPU利用率
(2)吞吐量
(3)周转时间:进程提交给计算机到最终完成所花费的时间

– 周转事件&平均周转时间
– 带权周转时间&带权平均周转时间: 带权周转时间 = 周转时间 / 实际运行时间

(4)就绪等待时间
(5)响应时间

4.2 典型调度算法

1. 先来先服务(FCFS)
– 按照作业进入系统的时间先后来挑选作业,先进入系统的作业优先被运行
– 缺点:效率较低(如:短作业排在队尾的时候)

2. 短作业优先算法(SJF)
– 参考运行时间,选取运行时间最短的作业投入运行
– 优劣势:短作业优先法能够有效地降低作业的平均等待时间和提高系统的吞吐量(对于长作业,易出现资源“饥饿”的现象

3. 高响应比优先法(HRRF)
– 高响应比 = (响应时间 + 服务时间) / 服务时间
– 定义:在调度进行时,以各进程的响应比作为其优先级,从中选出级别最高的进程投入运行

4. 优先级法
– 定义:根据进程优先级数,把CPU分配给最高的进程
– 进程优先数 = 静态优先数 + 动态优先数
– 静态优先数:在创建进程时就确定下来,而且在进程的整个运行期间保持不变

静态优先数的确定:
– 基于进程所需要的资源多少
– 基于程序运行时间的长短
– 基于进程的类型

– 动态优先数:随着进程的推进而不断改变的

动态优先数的确定:
– 当使用CPU超过一定时长时
– 当进程等待超过一定时长时
– 当进行I/O操作时

5. 循环轮转调度法(RR)
– 设计思想:
(1)把所有就绪进程按先进先出的原则排成队列
(2)进程以时间片为单位轮流使用CPU,则运行一个时间片的进程排到队列末尾等候下一轮进行
在这里插入图片描述

两种极端
– 时间片过长:退化为FCFS算法
– 时间片过段:进程频繁切换,系统开销增大

4.3 Linux进程调度

猜你喜欢

转载自blog.csdn.net/weixin_44944722/article/details/105473852