CPU调度(进程调度)策略

CPU调度

CPU调度是多道程序操作系统的基础。通过在进程之间切换CPU,操作系统可以提高计算机的吞吐率。

每当CPU空闲时,操作系统必须按照一定的策略从就绪队列当中选择一个进程来执行。
调度的对象:进程或线程。其方式与原则是一样的。所以经常以进程来说明。
那么说CPU调度<=>进程调度

调度算法的设计目标

面对客户:调度算法的设计目标应该是用户满意。
面对进程:CPU调度的目标应该是进程满意。

而让进程满意的关键就是时间,我们要做的事:

  • 尽快结束任务:周转时间(从任务进入到任务 )短
  • 用户操作尽快响应:响应时间(从操作发生到响应)短
  • 系统内耗时间少:吞吐量(完成的任务量)大

一个系统中存在多个任务,会存在调度的矛盾。

  • 吞吐量和响应时间有矛盾
    响应时间小=>切换次数多=>系统内耗大=>吞吐量小

  • 前台任务和后台任务的关注点不同
    前台任务关注响应时间,后台任务关注周转时间

  • IO约束型程序和CPU约束型程序各有特点
    CPU约束型程序以计算为主,CPU区间会较多,还会有少量长的CPU区间。如gcc。
    I/O约束型程序以I/O为主,但配合I/O处理会有大量短的CPU区间。如word。

所以调度算法的设计需要折中,综合。

各种调度算法

这里写图片描述

(1)First Come,First Served(FCFS)先来先服务

这里写图片描述

平均周转时间:
(10+39+42+49+61)/5=40.2

(2)SJF短作业优先

这里写图片描述

平均周转时间:
(10+13+42+49+61)/5=35

短作业优先:如果存在i < j,而pi>pj,交换pi,pj。

短作业优先的周转时间是最小的。
如果调度结果为p1,p2,…,pn,则周转时间为:
p1+(p1+p2)+(p1+p2+p3)+…=∑(n+1-i)pi=n*

  • 4
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值