一、常用调度算法
- 先来先服务(FCFS)调度算法
- 最简单的调度算法,既可用于作业调度,也可用于进程调度。
- 按照作业提交,或进程变为就绪状态的先后次序分派CPU;
- 新作业只有当当前作业或进程执行完或阻塞才获得CPU运行
- 被唤醒的作业或进程不立即恢复执行,通常等到当前作业或进程出让CPU。 (默认是非抢占方式)
- 有利于CPU繁忙型的作业,而不利于I/O繁忙的作业(进程)==》(即不利于短作业)
- 短作业(进程)优先调度算法SJF/SPF
根据作业的长短在就绪队列中排好队,若采取非抢占方式则根据队列顺序依次执行;若为抢占方式,时间片完或新进程的作业比执行态的作业长度短,则抢占当前正在执行的进程,被抢占进程按照时间长短在就绪队列排队等待。(特别注意就绪队列中的排队情况)
*优点:有效的降低作业的平均等待时间,提高系统吞吐量
*缺点:
①对短作业有利,但同时造成了对长作业的不利。
②由于作业(进程)的长短含主观因素,不一定能真正做到短作业优先。
③未考虑作业的紧迫程度,因而不能保证紧迫性作业(进程)的及时处理。
例题:
- 高优先权优先调度算法HPF
照顾紧迫性作业,使其获得优先处理而引入调度算法。常用于批处理系统中的作业调度算法,以及多种操作系统中的进程调度算法
- 分两种方式:
①非抢占优先权算法
②抢占式优先权算法(新作业产生时