1.调度的实质就是一种资源分配。不同的系统和系统目标采用不同的调度算法。
2.先来先服务调度算法FCFS
按照作业提交,或进程变为就绪状态的先后次序分派CPU;
新作业只有当当前作业或进程执行完或阻塞才获得CPU运行
被唤醒的作业或进程不立即恢复执行,通常等到当前作业或进程出让CPU。
缺点:
不利于短作业(进程)不利于I/O繁忙的作业(进程)。
3.短作业(进程)优先调度算法SJF/SPF (方式:分抢占和非抢占)
非抢占式优先权算法:系统一旦把处理机分配给就绪队列中优先权最高的进程后,该进程便一直执行下去,直至完成。
抢占式优先权调度算法:系统同样把处理机分配给优先权最高的进程,使之执行.但在其执行期间,只要又出现了另一个其优先权更高的进程,进程调度程序就立即停止当前进程(原优先权最高的进程)的执行,重新将处理机分配给新到的优先权最高的进程。
抢占式例子:

A执行到1时刻,B 作业进入,但B运行时间8>A的4,A优先,继续执行A。——>就绪队列:B。
在时刻3时,C作业进入,C运行时间3<A的4 ,C优先,先执行C。——>就绪队列:AB
C执行到4时,D作业进入,D的运行时间2<C的3,D优先,执行D,直到D执行完。——>就绪队列:CAB
按顺序执行完就绪队列C、A、B
优点:SJF/SPF调度算法能有效的降低作业的平均等待时间,提高系统吞吐量。

缺点:

对短作业有利,但同时造成了对长作业的不利。
由于作业(进程)的长短含主观因素,不一定能真正做到短作业优先。
未考虑作业的紧迫程度,因而不能保证紧迫性作业(进程)的及时处理。
4.高优先权优先调度算法HPF

1)非抢占式优先权算法
抢占式优先权算法 关键点:新作业产生时
2)静态优先权:创建进程时确定,整个运行期间保持不变。一般利用某一范围的一个整数来表示,又称为优先数。
动态优先权:创建进程时赋予的优先权可随进程的推进或随其等待时间的增加而改变。
3)高响应比优先调度算法HRRN (Highest Response Raito Next)
HRRN为每个作业引入动态优先权,使作业的优先级随着等待时间的增加而以速率a提高:
优先权 =(等待时间+要求服务时间) / 要求服务时间
= 响应时间 / 要求服务时间

特点:
1.同时到达的作业优先权相同。利于短作业,长作业有照顾
2.当执行时间相同的作业,优先权的高低决定于其等待时间的长短,也就是先来先服务。
先来先服务
需要进行调度选择的时候比较各自优先权 :
作业完成时
新作业产生时(抢占、非抢占)
时间片完成时
进程阻塞时

5.基于时间片的轮转调度算法RR

1)时间片轮转算法

将系统中所有的就绪进程按照FCFS原则,排成一个队列。
每次调度时将CPU分派给队首进程,让其执行一个时间片。时间片的长度从几个ms到几百ms。
在一个时间片结束时,发生时钟中断。
调度程序据此暂停当前进程的执行,将其送到就绪队列的末尾,并通过上下文切换执行当前就绪的队首进程。
设置多个就绪队列,各队列有不同的优先级,优先级从第一个队列依次降低。

2)多级反馈队列算法FB

1)设置多个就绪队列,各队列有不同的优先级,优先级从第一个队列依次降低。

2) 赋予各队列进程执行时间片大小不同, 优先权越高,时间片越短。

3)当一个新进程进入内存,引发的调度过程

准备调度:先将它放入第一个队列的末尾,按FCFS原则排队等待调度。
IF时间片内完成,便可准备撤离系统;
IF时间片内未能完成,调度程序便将该进程转入第二队列的末尾等待再次被调度执行。
当第一队列中的进程都执行完,系统再按FCFS原则调度第二队列。在第二队列的稍放长些的时间片内仍未完成,再依次将它放入第三队列。
依次降到第n队列后,在第n队列中便采取按时间片轮转的方式运行。

3.2常用的调度算法相关推荐

  1. 【操作系统】常用的调度算法

    文章目录 前言 先来先服务调度算法(FCFS) 短作业/短进程优先算法(SJF/SPF) 时间片轮转调度算法(RR) 高响应比优先调度算法(HRRF) 优先级调度算法(PSA) 静态优先级 动态优先级 ...

  2. 四种常用磁盘调度算法

    磁盘调度在多道程序设计的计算机系统中,各个进程可能会不断提出不同的对磁盘进行读/写操作的请求.由于有时候这些进程的发送请求的速度比磁盘响应的还要快,因此我们有必要为每个磁盘设备建立一个等待队列,常用的 ...

  3. hrrn算法java_常用的调度算法

    调度算法是什么: 根据系统的资源分配策略所规定的资源分配算法.对于不同的系统和系统目标,通常采用不同的调度算法. 先来先服务(First Come First Served,FCFS) 一种最简单的调 ...

  4. 常用的调度算法(包含实例)|操作系统

    目录 1.先来先服务调度算法(FCFS) 2.优先级调度算法 3.最短作业优先调度算法(SJF) 4.最高响应比优先调度算法(HRRN) 5.轮转调度算法(RR) 6.多级反馈轮转调度算法 7.实时系 ...

  5. OS / 几个常用的操作系统进程调度算法

    在操作系统中存在多种调度算法,其中有的调度算法适用于作业调度,有的调度算法适用于进程调度,有的调度算法两者都适用.下面介绍几种常用的调度算法. 一.先来先服务(FCFS)调度算法 FCFS 调度算法是 ...

  6. lvs的十种调度算法概念

    lvs的十种调度算法概念 注意:以下十种调度算法常用的调度算法是前四种,分别是rr.wrr.lc和wlc. 轮询调度算法(Round Robin) 调度器通过"轮叫"调度算法将外部 ...

  7. 进程和线程(通信方式)、调度算法(6种)

    1.进程 (https://www.cnblogs.com/tianlangshu/p/5224178.html) 一个具有一定独立功能的程序关于某个数据集合的一次运行活动,是系统进行资源分配和调度运 ...

  8. 负载均衡集群介绍LVS介绍LVS调度算法LVS NAT模式搭建

    2019独角兽企业重金招聘Python工程师标准>>> 18.6 负载均衡集群介绍 • 主流开源软件LVS.keepalived.haproxy.nginx等 • 其中LVS属于4层 ...

  9. 【银河麒麟V10】【服务器】IO调度算法与性能分析

    一.IO调度算法介绍 1.IO调度器(IO Scheduler)概念 IO调度器(IO Scheduler)是操作系统用来决定块设备上IO操作提交顺序的方法.存在的目的有两个,一是提高IO吞吐量,二是 ...

  10. 操作系统实验七 磁盘调度算法的模拟与实现(C语言)

    实验七 磁盘调度算法的模拟与实现 1 .实验目的 (1) 了解磁盘结构以及磁盘上数据的组织方式. (2) 掌握磁盘访问时间的计算方式. (3) 掌握常用磁盘调度算法及其相关特性. 2 .实验基本知识及 ...

最新文章

  1. 机器视觉+常识+概念
  2. 新5 年时间服务器从 0 到 200,一个创业公司的架构野蛮生长史头疼哈
  3. IntelliJ IDEA 中的Java Web项目的资源文件复制新增如何更新到部署包中?
  4. 罗马音平假名片假名转换器_关于五十音你所要知道的一切!文末附日网高清字帖...
  5. 中国酸性蒸汽清洗系统市场趋势报告、技术动态创新及市场预测
  6. 《Cisco防火墙》一8.7 通过NAT规则定义连接限制
  7. 贝莱德COO:作为全球最大资产管理公司,为什么说我们还是成长中的科技公司?
  8. 香草 jboss 工具_使用Tensorflow创建香草神经网络
  9. 业界常用的技术评估指标和方法,
  10. Mac和PC在工作中管理的对比(1)
  11. 智慧博物馆信息系统建设方案
  12. 迅雷9解决php文件,迅雷9的这些优化 你必须要知道
  13. 我们应该如何做外链?
  14. 女性程序员你需要注意
  15. java的populate_JAVA BeanUtils.populate错误当离开空日期输入
  16. 在网上开店有哪些好处?最多可以开几个?
  17. 项目开发中之如何对接
  18. .tar和.tar.gz的区别
  19. Binutils 相关工具记录
  20. 南阳 3 多边形重心问题(数学几何)

热门文章

  1. java 导出word模板
  2. Linux编译安装iozone,用iozone测试linux文件系统
  3. tomcat的access日志配置
  4. jQuery-点击按钮插入视频
  5. pro-engineerUG
  6. linux 海思hi3798m_海思Hi3798模块芯片,Hi3798处理器参数介绍
  7. 海思Hi3798MV310机顶盒芯片Datasheet-基本信息
  8. Unbuntu卸载anaconda(最新最全亲测)
  9. 网络工程师职场进化手册
  10. 破解版本的Charles