操作系统的处理机调度 知识点大全(壹)

一、首先,什么是调度?

  1. 我们的计算机中,进程数量往往多于处理机的个数,不能把某个处理机专门给一个进程独享
  2. 处理机调度是对处理机进行分配,也就是从就绪队列中按照一定的算法,公平、高效地给每个进程合理分配,让计算机处理速度最大化。

二、调度的层次

  1. 作业调度(高级调度):是面向作业的,发生频率最低,让进程从无->创建态->就绪态
  2. 内存调度(中级调度):是面向进程的,让进程从挂起态->就绪态
  3. 进程调度(低级调度):发生频率最高,让进程从就绪态->运行态
  4. 注:作业是一个具体的任务

三、经典的调度算法 

(1)先来先服务算法(First Come First Serve)

  • FCFS算法只要关注,谁先来,就先给谁服务,会从就绪队列中选择最先进入队列的进程,直到结束或者是中断。
  • FCFS算法属于不可剥夺的算法,但是,如果出现一个长作业,就要在处理机上运行很久很久,对后面晚来的短作业很不公平。
  • e.g.比如,在买奶茶的时候,你只点了一杯,按理来说应该很快拿到并喝上,但是万万没想到前面有一个人公司团建买了100杯!!
  • FCFS算法效率低,对长作业有利,对短作业的相应比太低了
  • FCFS算法有利于CPU繁忙型作业,不利于IO繁忙型作业
  • (2)短作业优先算法(Short Job First)

  • 顾名思义,这个算法就是让短作业优先,从就绪队列中选一个运行时间可能是最短的。
  • e.g.上厕所的时候,小便优先,肚子痛的人只能慢慢排队,直到所有小号的人结束任务,设想一下,有没有可能一直有很多来上小号的人,导致大号的人一直等一直等,实在等不动了...这就是饥饿现象(不是上厕所时的饥饿hhhhh)
  • (3)优先级调度算法

  • 从就绪队列中选择一个优先级最高的若干个作业
  • 可能使得一些优先级不高的作业,产生饥饿现象
  1. 非剥夺式优先级调度算法:只有进程自己想放弃,才会让出处理机,否则一直霸占着处理机,俗称老顽童式算法
  2. 剥夺式优先级调度算法:是抢占式算法,如果来了一个更重要的进程(优先级更高),就会杯抢走处理机,俗称恶霸式算法
  3. 系统进程优先级>用户进程;交互性进程>非交互性进程;IO型>计算型

剩下高响应比、时间片轮转、多级反馈队列等,下次再说

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值