【0515】单程序调度

    技术2022-07-10  137

    单程序调度

    调度:分配资源给进程/分配处理器给进程

    目标:响应时间,吞吐率/处理器效率/公平性

    长程调度:new–ready,new-ready/suspend,决定了哪个程序进入系统中处理,控制系统的并发度。

    中程调度:ready/suspend---->ready Block/suspend---->Block,考虑换出进程的存储需求。

    短程调度:ready–running

    I/O调度:系统

    短程调度程序也被称为分派器dispatcher:,精确地决定下次执行哪个进程,执行得最频繁。

    引起短程调度的因素:时钟中断,I/O中断,系统调用中断,信号

    短程调度准则:

    面向用户:面向用户的标准与单个用户或流程所感知的系统行为相关。例如响应时间【用户可知】越短越好.[从提交请求到输出请求之间经过的时间。]

    面向系统:重点是处理器的效果和效率。

    例如:吞吐量,即进程完成的速率。

    另一个划分维度:

    与性能直接相关【定量】:响应时间,吞吐量

    与性能无关【定性】:可预测性。

    优先级

    优先级队列,同一优先级的是一个队列,选择优先级高的进程,优先级低的可能会忍受饥饿。

    决策模式:

    非抢占模式:进程完成之后才会退出CPU,或者I/O中断

    抢占模式:进程未完成也可以退出CPU

    1.FCFS先进先服务

    非抢占模式,缺点:短进程可能会排很久

    2.Round-Robin轮转

    抢占模式。时间片方法,超时了就有中断发生,当前运行进程会放置在ready queue里,下一个ready队列的进程被加载。时间片大小的选择很重要,过长会退化成FIFO,太短则进程切换所用的系统消耗太多。进程数量多,时间片短一些;数量少,时间片可以长一点,还要考虑所能承受的系统消耗。

    3.VRR 虚拟轮转法

    抢占模式。被阻塞的进程加到辅助队列,优先级高于ready queue

    4.Shortest Process Next( SPN)

    非抢占模式。缺点:长进程调度会忍受饥饿,很难预测执行时间

    5.Shortest Remaining Time(SRT 最短剩余时间)

    抢占模式。时间片到了优先选择SRT最小的进程执行。这里的进程包括还未执行过的进程。

    6.Highest Response Ratio Next(HRRN最高响应比优先)

    非抢占模式,R=(waiting time+service time)/service time

    周转时间turnaround time Tr=waiting time+service time

    7.Freeback 反馈

    抢占模式。时间片方法,进程一次未执行完就被下放到优先级低的队列里,如果没有队列和本队列竞争就直接放在本队列中。适用于不知道进程执行需要的时间。

    例题:

    1.注意进程到达时间;

    2.注意队列顺序

    3.等待时间计算记得减去到达时间

    4.先进队列,再来按照策略选择

    5.反馈,队列可以分成0,1,2…时间片选择2^i

    公平共享调度

    前面的都是以进程为单位,也可以以用户为单位分配CPU资源

    用户的应用程序作为进程(线程)的集合运行;用户关心的是应用程序的性能;需要根据流程集做出调度决策

    优先级反转

    Processed: 0.011, SQL: 9