文章目录
什么是进程调度
操作系统管理了系统的有限资源,当有多个进程(或多个进程发出的请求)要使用这些资源时,因为资源的有限性,必须按照一定的原则来选择进程(请求)来占用资源。这就是调度。
进程调度的原因
目的是控制资源使用者的数量,选取资源使用者许可来占用资源。调度程序的最大原则是最大限度的利用CPU
的资源
常见调度算法
1. 先来先去服务(FCFS)
概念:
如果早就绪的进程排在就绪队列的前面,迟就绪的进程排在就绪队列的后面,那么先来先服务(FCFS: first come first service
)总是把当前处于就绪队列之首的那个进程调度到运行状态。也就说,它只考虑进程进入就绪队列的先后,而不考虑它的下一个CPU周期的长短及其他因素。最简单的调度算法,按先后顺序进行调度。
要领:
按照进程进入就绪队列的先后顺序调度并分配处理机执行。先来先服务调度算法是一种非抢占式的算法,先进入就绪队列的进程,先分配处理机运行。一旦一个进程占有了处理机,它就一直运行下去,直到该进程完成工作或者因为等待某事件发生而不能继续运行时才释放处理机。
(1)系统只要有按FIFO
规则建立的后备作业队列或就绪进程队列即可,就是一个作业控制块JCB
或进程控制块PCB
加入队列时加在相应队列末尾。
(2)调度退出队列时从相应队列首开始顺序扫描,将相关的JCB
或PCB
调度移出相应队列。
优点:
有利于长作业以及CPU
繁忙的作业
缺点:
不利于短作业以及I/O
繁忙的作业