二、操作系统进程管理(5)——调度算法(1)

(1)先来先服务(FCFS):


    算法思想:主要从“公平”的角度考虑。
    算法规则:按照作业/进程到达的先后顺序进行服务。就是等待时间越久的越优先得到服务。
    用于作业/进程调度:用于作业调度时,考虑的是哪个作业先到达后备队列;用于进程调度时,考虑的是哪个进程先到达就绪队列。
    是否可抢占?非抢占式的算法。
    优点:公平、算法实现简单;缺点:对长作业有利,对短作业不利。
    不会导致饥饿。
        饥饿:某进程/作业长期得不到服务。

(2)短作业优先(SJF):


    算法思想:追求最少的平均等待时间,最少的平均周转时间,最少的平均带权周转时间。
    算法规则:最短的作业/进程优先得到服务(所谓最短,是指要求服务时间最短)。
    用于作业/进程调度:两者都可用于。当用于进程调度时,称为“短进程优先算法”。(SPF)
    是否可抢占?SJF和SPF都是非抢占式的算法。也有抢占式版本——最短剩余时间优先算法(SRTN)。
    优点:“最短的”平均等待时间、平均周转时间。缺点:不公平。对短作业有利,对长作业不利。可能产生饥饿现象。
    会导致饥饿。

(3)高响应比优先(HRRN):


    算法思想:要综合考虑作业/进程的等待时间和要求服务的时间。
    算法规则:在每次调度时先计算各个作业/进程的响应比,选择响应比最高的作业/进程为其服务。
        响应比=(等待时间+要求服务时间)/要求服务时间。
    用于进程/作业调度。
    非抢占式的算法。因此只有当前运行的作业/进程主动放弃处理机时才需要调度,才需要计算响应比。
    优缺点:综合考虑了等待时间和运行时间(要求服务时间)。等待时间相同时,要求服务时间短的优先(SJF的优点);要求服务时间相同时,等待时间长的优先(FCFS的优点)。
    不会导致饥饿。

(4)总结:

以上三种算法一般适用于早期的批处理系统,因为它不关心“响应时间”,也不区分任务的紧急程度,对用户来说交互性很糟糕。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值