作业调度分类、调度算法

作业的调度:分类:
    高级调度:就是作业调度,按照某种调度算法从后备作业队列中挑选作业分配主存和外设资源。并建立进程
    中级调度:又称中程调度,为了提高内存利用率和系统吞吐量,将暂时不能运行的进程不再占用宝贵的内存资源,将他们调至外存上去等待,也就是挂起
    低级调度:又称进程调度,按照某种原则将将处理器分配给就绪进程或线程
三级调度:指同时出现以上三种调度方式的调度模型。

调度的性能准则:
    面向用户的调度性能准则:
        周转时间:作业从提交到完成(得到结果)所经历的时间。
        响应时间:用户从输入一个请求到系统给出的首次响应
        截止时间:开始截止时间和完成截止时间——>实时系统
        公平性:不因作业本身的特性而使上述指标过分恶化
        优先级:可以使关键任务达到更好的指标
    面向系统的调度性准则:
        吞吐量:单位时间内所完成的作业数
        处理机利用率:对于大众型机器
        各种设备的综合利用
    调度算法本身的调度性能准则:
        易于实现、执行开销比小
处理机调度的两种方式:
    抢占方式、非抢占方式

常见的调度算法:
    1、先进先出调度算法:不可抢占
    2、优先级调度算法:可以设置为抢占或非抢占,优先级在进程创建时确定
    3、时间片轮转算法:将所有的就绪进程按照FIFO原则,排成一个队列,按时间片进行轮转,可抢占策略
    4、最短进程优先算法:从就绪队列中挑选所需运行时间最短的进程进入主存运行。,非抢占
    5、最短剩余时间优先算法:最短进程优先算法的变形,让运行到作业完成时所运行的时间最短的进程优
        先得到处理,可抢占
    6、最高响应比优先算法:引入动态优先级机制,响应比高的优先调度,非抢占
        动态优先数:(等待时间+要求的服务时间)/要求的服务时间=响应式时间/要求服务时间
    7、多级反馈队列算法:是时间片轮转算法和优先级算法的综合和发展。
        基本算法:设置多个就绪队列,分别设置不同的优先级,如逐级降低,队列1优先级最高。
                 优先级和时间片相结合,每个队列的时间片的长度不同,规定优先级越低则时间越长
                 按照FIFO的原则调度;新进程进入后,先投入队列1的末尾
                 动态优先级:若按队列1一个时间片未能执行完,则降低投入到队列2的末尾,同样按FIFO
                             算法调度;如此下去,降低到最后的队列,则按“时间片轮转”算法调度直到完成
                 仅当较高优先级的队列为空,才调度较低优先级的队列中的进程执行。如果进程执行时有新的进程
                 进入较高优先级队列,则抢占执行新进程,并把被抢先的进程投入原队列的末尾。
        原则:I/O型进程:让其进入最高优先级队列,以及响应I/O交互
             计算型进程:每次都执行完时间片,进入更低的队列。最终采用最大时间片来执行,减少调度次数
        多级反馈队列算法优点:具有较好的性能,能满足各类用户的需要。为提高系统吞吐量率和缩短平均周转时间而照顾短进程;
                            为了I/O设备利用率和缩短响应时间而照顾I/O型进程;不必估计进程的执行时间,动态调节。

 

    原文作者:轩凌云
    原文地址: https://blog.csdn.net/qq_40390383/article/details/102547236
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞