? ? ? ? 计算机中的资源数量有限无法处理多个任务时,需要制定某种规则来决定处理这些任务的顺序;处理机调度是对处理机进行分配,即从就绪队列中按照一定的算法(公平、高效的原则)选择一个进程并将处理机分配给它运行,以实现进程并发地执行~
? ? ? ? 处理机调度是多道操作系统的基础,是操作系统设计的核心问题~
? ? ? ? 属于不可剥夺算法,表面上对所有作业公平,但长作业先到后则其他作业会等很长时间,不适用于分时和实时OS~
特点:
- 算法简单但是效率低
- 长作业有利,短作业不利
- 有利于CPU繁忙的作业,不利于IO繁忙的作业
- 不会导致饥饿?
从后备队列中选择约个或若干个估计运行时间最短的作业(即需求服务时间最短~)
- 默认为非抢占式的模式
- 追求最少的平均等待时间、平均周转时间
- 对长作业不利(长作业会)
????????所谓的优先级用于描述作业的紧迫程度,在作业调度中,优先级算法每次从后备作业中选择优先级最高的一个或者几个作业,将他们调入进程并放入就绪队列。
????????调度程序选择就绪队列的第一个进程执行并分配一个时间片。在一个时间片用完之后,即使进程并未运行完成,它也必须释放出处理机给下一个就绪进程~
????????该算法在系统中设置多个就绪队列,将不同类型或性质的进程固定分配到不同的就绪队列,每个队列可以实施不同的调度算法,因此,系统针对不同进程的需求,很容易提供多种调度策略。同一队列中的进程可以设置不同的优先级,不同的队列本身也可以由不同的优先级——适用于多处理机的系统,每个处理机拥有一个单独的就绪队列~
通过动态调整进程优先级和时间片的大小,多级反馈队列调度算法可以兼顾多方面的系统目标。
步骤:
表格对比一下各种调度算法的区别: