Table of Contents
过程调度算法是操作系统用来管理多个任务执行的方法,它们决定了在任何特定时间运行的流程,目的是优化性能和资源利用. 使用现实世界的例子可以帮助澄清这些算法在实际情景中是如何运作的.
首发、首发、首发
这种算法调度按到达顺序进行。 它简单易行, 但如果更长的任务先到, 则会导致较长的等待时间以缩短任务 。
例如,在杂货店的售票线上,客户按照到货的顺序得到服务,而不管他们有多少物品,如果有多个物品的人先加入线路,这可能会给那些物品较少的顾客造成延误.
轮到罗宾( RR)
此算法为每个进程分配一个固定的时间切片或量子。进程在一个队列中循环,确保 CPU 时间分布的公平。
想象一群人共用一台计算机,每人轮流一个设定的周期。如果一个人在自己的时间内没有完成,他们就会去行后转另一圈。这种方法可以防止任何进程垄断CPU。
下一个最短的工作( SJN)
此算法选择最短的预期执行时间。 它会将平均等待时间减少到最小, 但需要事先了解进程的持续时间 。
考虑建立一个客户服务中心,将快速问题放在长长问题之上,确保简单任务的更快解决,但可造成复杂案件的较长等待时间。
优先日程安排
进程被指定为优先级,调度器选择了运行的最高优先级进程,这可以是先发制人或非先发制人.
在医院,急诊病人在例行检查前进行治疗,高度优先任务得到及时处理,但较低优先任务可能会出现延误。
- 公平性
- 效率
- 反应
- 复杂性