操作系统——进程调度

    技术2023-10-27  116

    进程调度方式:分抢占、抢占 调度性能的评价指标:CPU利用率、系统吞吐量、周转时间和带权周转时间、响应时间、对截止时间的保证

    进程调度算法:

    周转时间=完成时间-提交时间 带权周转时间=周转时间/要求执行时间

    1.先来先服务算法(FCFS) 非抢占,因此不能保证紧迫性任务得到及时处理。 有利于长作业。

    2.短作业优先调度算法(SJF) 如果两个进程运行时间相同,可使用FCFS。 可以是抢占,也可以是非抢占。 优点:SJF算法能有效降低作业的平均周转时间和平均带权周转时间,提高系统的平均吞吐量。 缺点:(1)实现困难 (2)不公平,对长作业可能饥饿 (3)没有考虑紧迫

    3.高响应比优先算法 响应比=(要求服务时间+等待时间)/要求服务时间 非抢占。 不足:每次调度都要计算响应比增加系统开销。不能保证紧迫性任务得到处理。

    4.优先级调度算法 (1)非抢占 (2)抢占:确保紧迫性任务得到及时处理

    5.时间片轮转调度算法 就绪进程按先来先服务原则排成一个就绪队列,每次调度时,把CPU分配给队首进程,令其运行一个时间片。时间片用完时如果还没运行借书,就重新到就绪队列末尾排队。

    在确定时间片长度时,应考虑以下几个因素: (1)系统的响应时间:能接受的响应时间越长,时间片可适当延长 (2)就绪进程的数量:就绪进程越多,时间片越短 (3)进程调度及上下文切换的时间开销 (4)CPU运行指令的速度:越快,时间片可适当缩短

    6.多级队列调度算法 (1)每个队列有自己独立的进程调度算法 (2)各队列之间的优先级不同。高优先级抢占。 不足:低优先级队列容易产生饥饿现象

    7.多级反馈队列调度算法 (1)设置多个就绪队列,优先级递减,优先级最高的第一个队列时间片最短 (2)各队列内部按时间片轮转算法 (3)各队列之间采用抢占式优先级算法调度 不足:可能造成 低优先级的长作业 饥饿现象

    Processed: 0.018, SQL: 9