一、调度算法

(一)时间片轮转(RR, Round-Robin)

  • 例题:各进程到达就绪队列的时间、需要的运行时间如下表所示。使用时间片轮转调度算法,分析时间片大小分别是2、5时的进程运行情况。
  • 常用于分时操作系统,更注重“响应时间”,因而此处不计算周转时间

1. 时间片大小为2



2. 时间片大小为5

  • 如果时间片太大,使得每个进程都可以在一个时间片内就完成,则时间片轮转调度算法退化为先来先服务调度算法,并且会增大进程响应时间。因此时间片不能太大
  • 另一方面,进程调度、切换是有时间代价的(保存、恢复运行环境),因此如果时间片太小,会导致进程切换过于频繁,系统会花大量的时间来处理进程切换,从而导致实际用于进程执行的时间比例减少。可见时间片也不能太少

(二)优先级调度算法

1. 非抢占式优先级调度算法

  • 例题:各进程到达就绪队列的时间、需要的运行时间、进程优先数如下表所示。使用非抢占式优先级调度算法,分析进程运行情况。(注:优先数越大,优先级越高)
  • 例题:各进程到达就绪队列的时间、需要的运行时间、进程优先数如下表所示。使用抢占式的优先级调度算法,分析进程运行情况。(注:优先数越大,优先级越高)

2. 抢占式优先级调度算法

  • 例题:各进程到达就绪队列的时间、需要的运行时间、进程优先数如下表所示。使用抢占式优先级调度算法,分析进程运行情况。(注:优先数越大,优先级越高)
  • 就绪队列未必只有一个,可以按照不同优先级来组织。另外,也可以把优先级高的进程排在更靠近队头的位置。
  • 根据优先级是否可以动态改变,可将优先级分为静态优先级动态优先级两种。
    ①、 静态优先级 :创建进程时确定,之后一直不变。
    ②、 动态优先级 :创建进程时有一个初始值,之后会根据情况动态地调整优先级。
  • I/O设备和CPU可以并行工作。如果优先让I/O繁忙型进程优先运行的话,则越有可能让I/O设备尽早地投入工作,则资源利用率、系统吞吐量都会得到提升

(三)思考

  • FCFS算法的优点是公平。
  • SJF 算法的优点是能尽快处理完短作业,平均等待/周转时间等参数很优秀。
  • 时间片轮转调度算法可以让各个进程得到及时的响应。
  • 优先级调度算法可以灵活地调整各种进程被服务的机会。
  • 能否对其他算法做个折中权衡?得到一个综合表现优秀平衡的算法呢?【多级反馈队列调度算法】

(四)多级反馈队列

  • 例题:各进程到达就绪队列的时间、需要的运行时间如下表所示。使用多级反馈队列调度算法,分析进程运行的过程。
















  • 注:比起早期的批处理操作系统来说,由于计算机造价大幅降低,因此之后出现的交互式操作系统(包括分时操作系统、实时操作系统等)更注重系统的响应时间、公平性、平衡性等指标。而这几种算法恰好也能较好地满足交互式系统的需求。因此这三种算法适合用于交互式系统。(比如UNIX使用的就是多级反馈队列调度算法)

时间片轮转(RR)、优先级调度算法以及多级反馈队列调度算法相关推荐

  1. 【学习笔记】第二章——时间片轮转RR、优先级调度、多级反馈队列调度算法

    文章目录 一. 时间片轮转 二. 优先级调度 三. 多级反馈队列调度算法 四. 总结 一. 时间片轮转 公平,轮流给进程提供时间片 只用于进程调度(只有进程才能被分配时间片) 抢占式,由时钟装置发出时 ...

  2. 2.2.5 操作系统之调度算法(时间片轮转调度算法、优先级调度算法、多级反馈队列调度算法)

    文章目录 0.思维导图 1.时间片轮转---RR 2.优先级调度算法 3.多级反馈队列调度算法 4.三种算法的对比总结 0.思维导图 1.时间片轮转-RR Round-Robin 时间片为2举例 以时 ...

  3. 【进程调度算法】时间片轮转调度算法、多级反馈队列调度算法(Java实现)

    时间片轮转调度算法(RR)是十分简单的进程调度算法. 进程在执行时的情况 在该时间片内进程执行完毕,这种情况调度程序将立即把该进程弹出队列,并把CPU分配给新的队首进程 在该时间片内进程未执行完毕,调 ...

  4. python实现进程调度算法_多级反馈队列调度算法(附Python3实现代码)

    一.多级反馈队列调度算法 多级反馈队列调度算法是进程调度的一种算法,该调度算法可以不用事先知道各种进程所需的执行时间,还可以较好的满足各种类型进程的需要,是目前共认的一种较好的进程调度算法. 那你可能 ...

  5. java多级反馈队列进程调度,多级队列反馈调度算法 请教多级反馈队列调度算法...

    请教多级反馈队列调度算法???????????? 在某一操作系统中对进程调度采用多级反馈队列调度算法.现设定采用三级分数给小编了,小编来 0时刻A到达,进入I队列,执行2个时间段后,转向队列II,再执 ...

  6. FCFS、SJF、HRRN调度算法以及时间片轮转、优先级调度算法、多级反馈队列算法总结

    先来先服务(FCFS) 算法思想 主要从"公平"角度考虑 算法规则 按照作业/进程到达的先后顺序进行服务 用于作业/进程调度? 用于作业调度时,考虑哪个作业先到达后备队列: 用于进 ...

  7. 【操作系统】调度算法(FCFS、SJF、HRRN、RR、优先级调度、多级反馈队列)

    目录 1. 批处理.分时.实时系统 1. 批处理系统 2. 分时系统 3. 实时系统 2. 处理机调度级别 2.1 高级调度(作业调度) 2.2 中级调度 2.3 低级调度(进程调度) 3. 调度算法 ...

  8. 进程调度算法-时间片轮转、最高优先级和多级反馈队列调度算法

    文章目录 前言 一.时间片轮转 二.最高优先级 三.多级反馈队列 总结 前言 从上一篇文章中已经介绍了几种常见的单核CPU进程调度算法,本篇文章顺着上一篇文章的节奏,继续讲解几种剩余常见的进程调度算法 ...

  9. 多级队列调度算法可视化界面_多级反馈队列调度算法、各种调度算法小结等

    下面我们首先介绍,多级反馈队列调度算法 然后对前面介绍的各种调度算法进行比较 之后呢,我们简单讨论一下 在设计多处理器调度算法时所要考虑的几个问题 多级反馈队列调度算法 是 UNIX 的一个分支,BS ...

最新文章

  1. 【LeetCode每天一题】Generate Parentheses(创造有效的括弧)
  2. oracle 概要文件不存在,oracle 概要文件 - kecy1217的个人空间 - 51Testing软件测试网 51Testing软件测试网-软件测试人的精神家园...
  3. 三、linux内核驱动裁剪
  4. python 将excel文件转换为txt文件_python利用pandas将excel文件转换为txt文件的方法
  5. Linux网络IO精华指南
  6. github 公钥 私钥_ubuntu git生成ssh key (公钥私钥)配置github或者码云
  7. DPM 2012 SP1---安装并部署DPM 2012 SP1服务器
  8. vue中如何设置和清除定时器setInterval
  9. android for vs (三)visual studio android 发布为 apk
  10. 【毕设笔记】轴承振动数据故障诊断软件系统
  11. oracle实验7 pl/sql编程基础
  12. rest_framework学习之解析器(Parsers)
  13. Overleaf使用Latex输入中文的两种方法
  14. ubuntu 14.04 E450c 连不上网问题
  15. JavaScript-筑基(二十五)navigator对象(判断页面打开终端)、history对象
  16. 清华同方锋锐 u430 更换内存条教程
  17. [Android]自定义绘制一个简易的音频条形图,附上对MP3音频波形数据的采集与展现
  18. 网站服务器在卫星,云端服务器在卫星上吗
  19. 对千变万化数据的处理 12work
  20. [OpenPose翻译] Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields ∗原文翻译(注释版)

热门文章

  1. ViSP学习笔记(九):图像锐化
  2. [BZOJ4184]shallot 线段树+线性基
  3. Excel怎么隐藏部分数据?
  4. Mysql 5.7 修改root密码
  5. python安装之未指定的错误
  6. 初等应用:NBA常规赛的赛事安排分配算法
  7. ig服务器维护,LOL国服道歉:夺冠之后服务器卡了四天 IG的回复亮了
  8. 关于Linux群组问题
  9. 无显示器u盘安装centos_U盘安装CentOS7跳坑记
  10. 实现知乎 Android 客户端启动页视差滚动效果