OS2.2.4:FCFS、SJF、HRRN调度算法
文章目录
- 知识总览
- 几个需要思考的问题
- 调度算法
- 先来先服务(FCFS)
- 实例
- 小结
- 短作业优先
- 非抢占式短作业优先(SJF)
- 实例
- 抢占式最短剩余时间优先(SRTN)
- 实例
- 小细节
- 小结
- FCFS与SJF的思考
- 高响应比算法
- 实例
- 小结
- 总结
知识总览
几个需要思考的问题
各种调度算法的学习思路
- 算法思想?
- 算法规则?
- 这种调度算法是用于作业调度还是进程调度?
- 抢占式?非抢占式?
- 优点和缺点?
- 是否会导致饥饿?(饥饿的意思就是某进程/作业长期得不到服务,就会处于饥饿的状态)
调度算法
先来先服务(FCFS)
类似排队买东西付钱。只有进程主动放弃处理机时,才会选择进程调度。
实例
复习一下之前评价的性能指标算法,周转时间是完成时间减去到达时间,这里要注意的是完成时间,应该算总的完成时间,完成了几个进程就得加进去,比如算第二个进程的周转时间,就是用总的完成时间(包括第一个),即7+4,减去第二个进程的到达时间2,即为9。带权周转时间(意思就是这个进程的周转时间比运行时间大多少倍的概念,P3这个进程体验很糟糕),是周转时间比上运行时间,用第一部分算出的周转时间比一下就行,需要注意的是带权周转时间是大于等于1的。还有就是等待时间,就是周转时间减去运行时间,在带有IO操作的部分,还必须把IO操作的时间给减去才能得到等待时间。所以算出来了周转时间其他的指标都好算。
小结
综上,FCFS就是对长作业有利,对短作业不利,因为都是排队,总是会被执行到,所以不会导致饥饿。
短作业优先
非抢占式短作业优先(SJF)
就是最短的作业/进程,优先得到服务。(所谓最短,是指要求服务时间最短)
实例
因为是短作业优先,在0时刻只有P1到达。所以只服务P1,P1运行完后,系统时钟到了时刻7,这时候其他进程也都到达了,因为短作业优先,所以先P3,因为P3的运行时间最短,又因为P2,P4运行时间相同,但是P2先到达,所以优先运行P2,最后的顺序就是P1324。
比较平均的评价指标,发现SJF是要比FCFS要好的。
抢占式最短剩余时间优先(SRTN)
因为这是抢占式的,每当有新的进程加入到就绪队列的时候,会引发就绪队列改变,现在就是要看一下新来的进程会不会抢占处理机。
实例
就是每加入一个进程,都会将当前进程的剩余时间与新加的进程的运行时间进行比较,哪个快就先做哪个,另外一个就挂起。
小细节
默认都是非抢占式的算法。
小结
FCFS与SJF的思考
FCFS没考虑好作业的运行时间,导致对长作业有利短作业不利;SJF则是完全不考虑等待时间,导致对短作业有利长作业不利
高响应比算法
要综合考虑作业/进程的等待时间和要求服务的时间。
响应比就是考虑了等待时间与要求服务时间的一个指标,计算公式如上所示。响应比肯定是大于等于1的数。
实例
因为是非抢占式的,所以最开始应该是按照FCFS执行,就执行P1,P1执行完后,计算剩下各个进程的响应比,则找到了P3响应比最大,就执行P3,之后再类推。
小结
综合了FCFS以及SJF的优点。
总结
OS2.2.4:FCFS、SJF、HRRN调度算法相关推荐
- FCFS,SJF,HRRN调度算法
FCFS,SJF,HRRN调度算法 各种调度算法的学习思路 算法思想 算法规划 这种调度算法是用于作业调度还是进程调度 抢占式?非抢占式? 优缺点 是否会导致饥饿(某进程/作业长期得不到服务) 先来先 ...
- FCFS、SJF、HRRN调度算法
文章目录 FCFS.SJF.HRRN调度算法 知识总览图 先来先服务(FCFS,First Come First Serve) 短作业优先(SJF,Shortest Job First) 对FCFS和 ...
- 【操作系统 - 1】先来先服务FCFS和短作业优先SJF进程调度算法
操作系统系列 学习至此,发现很多学了但很久没用的知识,久而久之,慢慢遗忘.等哪天还需要的话,却发现已经忘得差不多了,即使整理了文档(word等),还是得从头再学一遍.读研第一学期,发现很多东西都可以从 ...
- FCFS,SJF以及PSA进程调度算法效率的比较
实现 下面是用 Java 程序比较 FCFS,SJF 和 PSA 算法效率的示例代码: FCFS 思路 对于 FCFS 算法,我们可以定义一个 Process 类来表示一个进程,其中包含进程名称.到达 ...
- 《操作系统》实验一:先来先服务FCFS和短作业优先SJF进程调度算法
[实验题目]:先来先服务FCFS和短作业优先SJF进程调度算法 [实验学时]:4学时 [实验目的] 通过这次实验,加深对进程概念的理解,进一步掌握进程状态的转变.进程调度的策略及对系统性能的评价方法. ...
- FCFS,SJF以及PSA进程调度算法的比较
实现 下面是用 Java 程序比较 FCFS,SJF 和 PSA 算法效率的示例代码: FCFS 思路 对于 FCFS 算法,我们可以定义一个 Process 类来表示一个进程,其中包含进程名称.到达 ...
- 操作系统(五):FCFS/SJF/非抢占优先级/RR
操作系统(五):FCFS/SJF/非抢占优先级/RR 一.题目1(书上170页5.7) 5.4 5.4 Consider the following set of processes, with th ...
- 最短作业优先(SJF)调度算法
最短作业优先(SJF)调度算法将每个进程与其下次 CPU 执行的长度关联起来.当 CPU 变为空闲时,它会被赋给具有最短 CPU 执行的进程.如果两个进程具有同样长度的 CPU 执行,那么可以由 FC ...
- 计算机操作系统学习之FCFS、SJF和HRRN调度算法
文章目录 一.FCFS算法(先来先服务) 二.SJF算法(短作业优先算法) 1.不可抢占的情况(即SJF算法) 2.可抢占的情况(最短剩余时间优先算法 即SRTN算法) 3.优缺点 4.补充 三.HR ...
最新文章
- Finalize/Dispose/Destructor
- java哈希表单例使用_java 、HashMap 和单例
- Share Point 2013使用Windows PowerShell 获取,删除UserProFile
- 组件化开发,制作Cocoapods Git库
- 3.5 集束搜索的误差分析-深度学习第五课《序列模型》-Stanford吴恩达教授
- Study 1 —— HTML5概述
- Java中的定制国际化(i18n)
- HTML DOM教程 36-HTML DOM Link 对象
- 多线程启动定时器 会等待上一次执行完成?_Java多线程
- Php的if自动转换类型,php类型的自动转换
- windows下执行testng用例
- python opencv 利用 GrabCut 算法(opencv已经实现)从图像中分离出前景
- centos ipv6 网卡_Linux_03-Centos的基本网络配置
- Again Twenty Five!
- java 基础学习——基本技巧(一)
- perl操作postsql
- 西南科技大学OJ题 集合的交运算的实现1045
- Ubuntu常用命令
- 整站SEO优化方案:整站优化的方案的流行格式
- 【图像检测-缺陷检测】基于灰度共生矩阵实现痕迹检测matlab代码
热门文章
- 关于Vue引用组件时地址报错Already included file name ‘xxx‘ differs from file name ‘xxx‘ only in casing的原因
- 4*4薄膜键盘的电路连接和驱动(树莓派)
- EPC、EPS以及LTE、SAE的关系
- 关于大数据和人工智能发展的思考
- MacBook Pro(13 英寸,2011 年末)A1278安装Windows11蓝屏代码WDF_VIOLATION问题解决
- labview智能闹钟
- oracle11g的g什么意思,oracle11g到底是什么
- 工业通讯 | KEBA 控制器通过 NT50 连接西门子 PLC
- python网易云爬虫——实现网易云歌词的爬取(输入歌手的id,即可实现歌词的爬取)
- 开源要自立?华为如何“复制”Google模式