04-进程调度
处理机调度
时机,切换与过程,方式
调度算法的评价指标
调度算法
先来先服务(FCFS, First Come First Serve)
短作业优先(SJF, Shortest Job First)
抢占式的短作业优先算法又称“最短剩余时间优先算法(SRTN)”
高响应比优先(HRRN, Highest Response Ratio Next)
工作负载
1.每一个工作运行相同的时间。
2.所有的工作同时到达。
3.一旦开始,每个工作保持运行直到完成。
4.所有的工作只是用CPU(即它们不执行IO操作)。
5.每个工作的运行时间是已知的。
指标
周转时间
周转时间=完成时间-到达时间
先进先出(FIFO)
缺点:等待较长时间的进程会拖累整个系统最短任务优先(SJF)
缺点:不是同一时间到达处理最短完成时间优先(STCF)
利用抢占机制
响应时间
响应时间=首次运行-到达时间
轮转
时间片完成后直接切换到下一个任务
- 太短增加上下文切换,稍微长点可以摊销上下文切换成本
IO
运行时候不占用 CPU
- 无法预知工作长度
多级反馈队列(MLFQ)规则
规则1:如果A的优先级 > B的优先级,运行A(不运行B)。
规则2:如果A的优先级 = B的优先级,轮转运行A和B。
规则3:工作进入系统时,放在最高优先级(最上层队列)。
规则4a:工作用完整个时间片后,降低其优先级(移入下一个队列)。
规则4b:如果工作在其时间片以内主动释放CPU,
则优先级不变
规则 4:一旦工作用完了其在某一层中的时间配额(无论中间主动放弃了多少次
CPU),就降低其优先级(移入低一级队列)。
规则5:经过一段时间S,就将系统中所有工作重新加入最高优先级队列
4a,4b 产生饥饿问题
调度:比例份额
彩票调度
- 彩票表示份额
- 彩票机制
- 实现