3.处理机调度(操作系统)

调度的概念

当有一推任务要处理,但由于资源有限,这些事情没法同时处理。这就需要确定某种规则来决定处理这些任务的顺序。这就是“调度”研究的问题。

调度三个层次

  1. 作业调度(高级调度):按一定的原则从外存上处于后备队列的作业中挑选一个,给他们分配内存等必要资源,并建立相应的进程,以使它获得竞争处理机的权利。
  2. 内存调度(中级调度):决定将哪个处于挂起状态的进程重新添加到内存
  3. 进程调度(低级调度):按照某种方法和策略从就绪队列中选取一个进程将处理机分配给它

进程调度的方式

进程调度的方式可分为:剥夺式(抢占式)和非剥夺式(非抢占式)
抢占式:即就绪队列中一旦有优先级高于当前执行进程优先级的进程存在时,变立刻发生进程调度,转让处理机。
非抢占式:即使在就绪队列中存在有优先级高于当前执行进程时,当前进程仍将占有处理机,直到该进程自己因调用原语操作或等待I/O而进入阻塞、睡眠状态,或时间片用完时才重新发生调度让出处理机。

进程调度的时机

  1. 正在执行的进程执行完毕
  2. 执行中进程自己调用阻塞原语将自己阻塞起来进入睡眠等待状态
  3. 在分时系统中时间片已经用完
  4. 就绪队列中的某进程的优先级变得高于当前执行进程的优先级(抢占式)

衡量调度策略的指标

  1. 设备利用率:(指设备运行的时间在总时间中的占比例)设备运行时间/总时间
  2. 周转时间:(从用户提交作业到作业完成所用时间)作业完成的时间-作业提交的时间
  3. 带权周转时间:(周转时间/作业实际运行时间)
  4. 等待时间:(作业/进程处于等待处理机时间之和)
  5. 吞吐量:(单位时间内完成作业的数量)完成了多少道作业/总时间
  6. 响应时间:(用户提交请求到首次产生相应所用的时间)

操作系统之作业/进程调度算法

  1. 先来先服务:每次从后备进程队列中选择最先进入该列队的进程
  2. 短作业优先:从后备进程队列中选择运行时间最短的进程
  3. 优先级:将所有进程设置优先级,从后备进程队列中选择优先级最高的进程
  4. 高相应比:响应比公式(等待时间+运行时间)/运行时间
  5. 时间片轮流:系统将所有就绪进程按到达时间的先后次序拍成一个队列,每个进程运行一个时间片
  6. 多级反馈轮转:
    1. 设置多个就绪队列,并为各个队列赋予不同的优先级,第1级队列的优先级最高,第2级队列次之,其他队列的优先级逐次降低
    2. 赋予各队列中进程执行时间片的大小各不相同,在优先级越高的队列中,每个进程的运行时间片越小。
    3. 一个新进程进入内存后,首先将它放入第1级队列的末尾,按先来先服务原则排队等待调度。当轮到该进程执行时,如果它能在该时间片内完成,便可撤离系统;若在一个时间片结束尚未完成,调度程序便将该进程转入第2级队列的末尾,再同样按先来先服务原则等待调度执行,以此类推
    4. 仅当第1级队列为空时,调度程序才调度第2级队列中的进程执行;仅当第1~(i-1)级队列均为空时,才会调度第i级队列的进程。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值