目录
1.处理机调度层次
高级调度:高级调度的对象是作业,根据某种算法,决定将外存上处于后备队列中的哪几个作业调入内存。
低级调度(频率最高):低级调度的对象是进程(或者内核级线程);根据某种算法,决定就绪队列中的哪个进程应该获得处理机,并由分派程序将处理机分配给被选中的进程
中级调度:又叫内存调度,目的是为了提高系统的利用率和系统吞吐量。
2.作业调度
(1)FCSF算法(先来先服务)
算法思想:当在作业调度中采用该算法时,系统将按照作业到达的先后次序来进行调度,或者说它是最优先考虑在系统中等待时间最长的作业,不管作业执行时间的长短。在进程调度中,采用FCFS算法时,每次调度就是从就绪队列中选择最先进入该队列的进程,为其分配处理机,运行。
优点:简单,容易实现。
缺点:平均等待时间波动较大。 I/O资源和CPU资源的利用率低,对短作业不利。
(2)短作业优先(SJF)
算法思想:系统从进程队列中选择执行时间最短的进程优先执行,时间越短,优先级越高。
优点 :降低了短作业的等待时间,平均周转时间减小了;系统吞吐量提高。
缺点:很难准确预估作业运行时间;对长作业不利,可能等待长时间得不到执行;也未考虑作业的紧迫程度。
(3)优先级调度算法(PSA)
算法思想:基于作业紧迫程度,赋予作业响应的优先级,系统从后备队列获取优先级高的进程优先执行。
优点:紧迫作业可以优先执行;适合分时、实时系统。
缺点:低优先级的进程需要等待很久或者永远执行不了。
(4)高响应比优先调度算法
算法思想:系统从后备队列中选择响应比高的进程优先执行
响应比:响应比 = (作业等待时间 + 作业运行时间)/ 作业运行时间 = 1 + 作业等待时间 / 作业运行时间.
优点:优先级动态变化,既可以考虑到作业进入系统的次序,又能考虑到作业运行的时间;保证长作业等待足够时间必然能执行.
缺点:每次调度都要计算相应比,开销大
3.实时调度
3.1 实时调度的基本条件
- 提供必要的信息
- 系统处理能力强大
- 采用抢占式调度机制
- 具有快速切换机制
3.2 实时调度算法的分类
- 非抢占式调度算法
- 抢占式调度算法
① 基于时钟中断的抢占式优先级调度算法
② 立即抢占式