FCFS,SJF,HRRN调度算法

各种调度算法的学习思路

  1. 算法思想
  2. 算法规划
  3. 这种调度算法是用于作业调度还是进程调度
  4. 抢占式?非抢占式?
  5. 优缺点
  6. 是否会导致饥饿(某进程/作业长期得不到服务)

先来先服务(FCFS)

  1. 算法思想:主要从“公平”的角度考虑(类似于排队购物)
  2. 算法规则:按照作业/进程到达的先后顺序进行服务
  3. 用于作业调度/进程调度:用于作业调度时,考虑的是哪个作业先到达后备队列;用于进程调度时,考虑的是哪个进程先到达就绪队列
  4. 是否可抢占:非抢占式的算法
  5. 优缺点:
    • 优点:公平,算法实现简单;
    • 缺点:排在长作业(进程)后面的短作业需要等待很长时间,带权周转时间很大,对短作业来说用户体验不好,即对长作业有利,对短作业不利
  6. 是否会导致饥饿:不会

例子:

短作业优先(SJF)

  1. 算法思想:追求最少的平均等待时间,最少的平均周转时间,最少的平均带权周转时间
  2. 算法规则:最短的作业/进程优先得到服务(所谓最短,指要求服务时间最短)
  3. 用于作业/进程调度:既可用于作业调度,又可用于进程调度。用于进程调度时称为“短进程优先”SPF算法(shortest process first)
  4. 是否可抢占的:SJF和SPF是非抢占式的算法,但是也有抢占式的版本→最短剩余时间优先算法(SRTN,shortest remaining time next)
  5. 优缺点:
    • 优点:”最短的“平均等待时间,平均周转时间
    • 缺点:不公平,对短作业有利,对长作业不利,可能产生饥饿现象,另外,作业/进程的运行时间是由用户提供的,并不一定真实,不一定能做到真正的短作业优先
  6. 是否会导致饥饿

例子:非抢占式:

抢占式:

注:

  1. 题目为特别说明,默认非抢占式
  2. 抢占式的短作业/进程优先调度算法的平均等待时间,平均周转时间最少;在所有进程都几乎同时到达/所有进程同时可运行的情况下,SJF算法的平均等待时间,平均周转时间最少

高响应比优先(HHRN,highest response ratio next)

  1. 算法思想:综合考虑作业/进程的等待时间和要求服务的时间

  2. 算法规划:在每次调度时先计算各个作业/进程的响应比,选择响应比最高的作业/进程为其服务

    ​ 响应比=(等待时间+要求服务时间)/要求服务时间

  3. 用于作业进程调度:既可以用于作业调度,也可以用于进程调度

  4. 是否可抢占:非抢占式的算法,因此只有当前运行的进程/作业主动放弃处理机时,才需要调度,才需要计算响应比

  5. 优缺点:

    • 优点:综合考虑了等待时间和运行时间(要求服务时间),等待时间相同时,要求服务时间短的优先(SJF的优点);要求服务时间相同时,等待时间长的优先(FCFS的优点),对于长作业来说,随者等待时间越来越长,其响应比也会越来越大,从而避免了长作业饥饿的问题
  6. 是否会导致饥饿:不会

例子:

FCFS,SJF,HRRN调度算法相关推荐

  1. FCFS、SJF、HRRN调度算法

    文章目录 FCFS.SJF.HRRN调度算法 知识总览图 先来先服务(FCFS,First Come First Serve) 短作业优先(SJF,Shortest Job First) 对FCFS和 ...

  2. 【操作系统 - 1】先来先服务FCFS和短作业优先SJF进程调度算法

    操作系统系列 学习至此,发现很多学了但很久没用的知识,久而久之,慢慢遗忘.等哪天还需要的话,却发现已经忘得差不多了,即使整理了文档(word等),还是得从头再学一遍.读研第一学期,发现很多东西都可以从 ...

  3. FCFS,SJF以及PSA进程调度算法效率的比较

    实现 下面是用 Java 程序比较 FCFS,SJF 和 PSA 算法效率的示例代码: FCFS 思路 对于 FCFS 算法,我们可以定义一个 Process 类来表示一个进程,其中包含进程名称.到达 ...

  4. 《操作系统》实验一:先来先服务FCFS和短作业优先SJF进程调度算法

    [实验题目]:先来先服务FCFS和短作业优先SJF进程调度算法 [实验学时]:4学时 [实验目的] 通过这次实验,加深对进程概念的理解,进一步掌握进程状态的转变.进程调度的策略及对系统性能的评价方法. ...

  5. FCFS,SJF以及PSA进程调度算法的比较

    实现 下面是用 Java 程序比较 FCFS,SJF 和 PSA 算法效率的示例代码: FCFS 思路 对于 FCFS 算法,我们可以定义一个 Process 类来表示一个进程,其中包含进程名称.到达 ...

  6. 操作系统(五):FCFS/SJF/非抢占优先级/RR

    操作系统(五):FCFS/SJF/非抢占优先级/RR 一.题目1(书上170页5.7) 5.4 5.4 Consider the following set of processes, with th ...

  7. 最短作业优先(SJF)调度算法

    最短作业优先(SJF)调度算法将每个进程与其下次 CPU 执行的长度关联起来.当 CPU 变为空闲时,它会被赋给具有最短 CPU 执行的进程.如果两个进程具有同样长度的 CPU 执行,那么可以由 FC ...

  8. 计算机操作系统学习之FCFS、SJF和HRRN调度算法

    文章目录 一.FCFS算法(先来先服务) 二.SJF算法(短作业优先算法) 1.不可抢占的情况(即SJF算法) 2.可抢占的情况(最短剩余时间优先算法 即SRTN算法) 3.优缺点 4.补充 三.HR ...

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

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

最新文章

  1. 分表分库之一:分布式数据库的常见用法
  2. Spring Boot 全局异常处理
  3. mysql的FIQ怎么安装_MySQL数据库设计总结
  4. 无忧计算机c语言二级题库,干货for计算机等级考试题库:二级C语言试题
  5. 白盒测试和黑盒测试_黑盒测试与白盒测试的比较
  6. android 百度移动搜索 url 参数,百度刷站内快排算法参数-百度搜索URL参数比较详解...
  7. python文件读写方法手机_python读取文件—txt文件常用读写操作
  8. 稳压电源的设计与制作_电子爱好设计的直流可调压电源电路,太完美了,有图,亲测可用...
  9. 无连接可靠传输_这些RF连接器设计原则你应该多了解一下
  10. mysql5.7 glibcxx_3.4.15_Percona Server安装可能出现的问题 version `GLIBCXX_3.4.15' not found ...
  11. mysql逻辑读高影响_运维日记| MySQL/Oracle深度解析之一:逻辑读
  12. 编译Sqoop2错误解决
  13. 为什么win10开热点后电脑没有网络?
  14. opnet中SOCKET接口开发
  15. web留言板整蛊网站愚人节
  16. Java多线程并发笔记01 对象锁 类锁 对象锁的同步和异步 脏读
  17. cogs1439 货车运输 LCA
  18. 你应该知道的一些微信技巧
  19. 导入FBX格式的模型至UE4
  20. 强化学习入门项目 Spinning up OpenAI (1) installation

热门文章

  1. .NET PPT控件 Spire.Presentation for .NET V2.8发布 | 附下载
  2. Android开发之Canvas rotate方法释疑
  3. Linux下高效编写Shell——shell特殊字符汇总
  4. 超级计算机TOP500、green500、graph500最新排名(2012.11)
  5. C#正则表达式编程(四):正则表达式
  6. Spring的IoC解析
  7. vue返回上级并且携带数据_前后端分离之后端返回用户角色信息(vueelementadmin+laravel)...
  8. markdown 图片居中_Markdown入门指南【我为什么要推荐你学习Markdown?】
  9. freebsd mysql删_FreeBSD增加、删除以及管理用户(适用Linux)
  10. 海康威视面试-java应用开发