进程调度算法_ep6hx0gbax1l4gah

    520
    最后修改于

    性能指标#

    CPU利用率=CPU有效工作时间CPU有效工作时间+CPU空闲等待时间CPU 利用率 = \frac{CPU 有效工作时间}{CPU 有效工作时间+CPU 空闲等待时间}
    系统吞吐量=完成作业量CPU工作时间系统吞吐量 = \frac{完成作业量}{CPU工作时间}
    周转时间=作业完成时间作业提交时间周转时间 = 作业完成时间 - 作业提交时间
    带权周转时间=作业周转时间实际运行时间带权周转时间 = \frac{作业周转时间}{实际运行时间}
    响应时间=首次响应时间用户提交请求时间响应时间 = 首次响应时间 - 用户提交请求时间
    等待时间等待时间

    调度算法#

    FCFS:先来先服务,效率不高。可用于作业调度和进程调度。当先来长作业,后续短作业都需要等待。不利于 I/O 密集型作业。
    SJF:最短任务优先,直至完成或阻塞才释放。容易导致长作业饥饿,没考虑作业紧急程度。估算时间难衡量。但平均等待时间,平均周转时间最短。
    优先级调度:既可用于作业调度也可用于进程调度,分为非抢占式优先级和抢占式优先级。抢占式优先级分为静态优先级(创建时设置优先级,不变)和动态优先级(动态调整)。优先级参考指标包括:是否系统进程,是否交互进程,是否 I/O 进程等。
    ** 高响应比优先调度:** 主要用于作业调度,响应比Rp=等待时间+要求服务时间要求服务时间响应比R_p=\frac{等待时间+要求服务时间}{要求服务时间}
    ** 时间片转轮调度:** 适用于分时系统。时间片大小影响系统性能。
    多级队列调度:不同队列不同优先级、队列内优先级可以不同,多处理器中可以分配不同队列给不同 CPU
    多级反馈队列调度:设置多级队列,队列内采用 FCFS,为不同队列赋予不同优先级,不同时间片。队列越优先,时间片越小。当时间片用完,但未完成就转入下一级队列。各种作业都能较为均衡的处理。

    • 🥳0
    • 👍0
    • 💩0
    • 🤩0