当前位置: 首页 > news >正文

操作系统学不会?————一文速通(FCFS,SJF/SPF,SRTN,HRRN算法)保姆级解析

一.FCFS(先来先服务)算法

第一部分:六维分析FCFS算法
在这里插入图片描述
第二部分:六个计算指标分析FCFS的优劣

指标1:周转时间=完成时间-到达时间
指标2:带权周转时间=周转时间/运行时间
指标3:等待时间=周转时间-运行时间
指标4:平均周转时间=周转时间总和/进程总数
指标5:平均带权周转时间=带权周转时间总和/进程总数
指标6:平均等待时间=等待时间总和/进程总数

算法核心思想:等待时间越久到达时间越晚,越先得到服务
下面我们通过一个题目来分析:
在这里插入图片描述
我们按照先来先服务的算法思想画出甘特图如下:
在这里插入图片描述
我们根据前面给出的六个指标的公式计算出六个指标:
在这里插入图片描述
在这里插入图片描述
注意:本题目中的进程是纯计算型的进程,如果涉及到I/O操作,则等待时间的计算公式变为等待时间=周转时间-运行时间-I/O操作时间

二.SJF/SPF(非抢占式短作业优先/短进程优先)调度算法

第一部分:六维分析SJF/SPF算法
在这里插入图片描述
第二部分:六个计算指标分析SJF/SPF的优劣

指标1:周转时间=完成时间-到达时间
指标2:带权周转时间=周转时间/运行时间
指标3:等待时间=周转时间-运行时间
指标4:平均周转时间=周转时间总和/进程总数
指标5:平均带权周转时间=带权周转时间总和/进程总数
指标6:平均等待时间=等待时间总和/进程总数

算法核心思想:每次选择已经到达并且运行时间最短的作业或进程
计算公式同FCFS一致,我们不再赘述,我们还是来看一道题目:
在这里插入图片描述
我们还是通过甘特图的方式分析:
在这里插入图片描述
分析:
0时刻p1进程到达,此时没有其他进程到达,所以p1先上处理机,然后过了7ms运行结束,在这7ms的时间里所有进程都已经到达,然后我们每次选择运行时间最短的进程可以得到P1->P3->P2->P4的调度顺序
下面我们给出计算步骤:
在这里插入图片描述
对比FCFS算法中的8.75ms的平均周转时间,3.5ms的平均带权周转时间,4.75ms的平均等待时间,性能得到了很大的提升

三.SRTN(抢占式短进程优先)调度算法

SRTN又称最短剩余时间优先算法,我们给出如下定义:
在这里插入图片描述
调度流程分析:
在这里插入图片描述
2时刻p2到达,p2运行4ms,运行时间小于p1剩余的5ms,于是抢占处理机,4时刻p3到达,p3运行1ms小于p1剩余的5ms和p2剩余的2ms,于是抢占处理机,到达5时刻。p3正好运行完,p4到达,此时p4的运行时间大于p2的运行时间,所以p2重新抢占处理机一直到执行结束,然后p4再上处理机直到结束,p1再上处理机运行直到结束,由此我们得到甘特图:
在这里插入图片描述
我们给出计算步骤:
在这里插入图片描述
不难看出,相比较于SJF算法,SRTN算法时间上的优化做的更好,我们需要注意以下几点:

在这里插入图片描述

四.HRRN(高响应比优先算法)

在这里插入图片描述
响应比有如下计算公式:
在这里插入图片描述
流程分析:
在这里插入图片描述
注意每次调度响应比最高的不是最低的
在这里插入图片描述
计算步骤同前面一致,读者可自行计算,下面我们给出高响应比算法的六维分析:
在这里插入图片描述
最后我们给出四种算法的比较

在这里插入图片描述
以上四种算法属于批处理系统的调度算法,交互性很差,交互性系统的调度算法下一篇文章会详细介绍。

相关文章:

  • 4.数据存储**
  • Attention又升级!Moonshot | 提出MoE注意力架构:MoBA,提升LLM长文本推理效率
  • Python爬虫实战:基于 Scrapy 框架的腾讯视频数据采集研究
  • 蓝桥-数字接龙
  • 事业单位ABCDE类
  • qwen2.5-vl使用vllm部署gradio页面调用
  • 网络安全防护总体架构 网络安全防护工作机制
  • TC IT 技术图标
  • 深入理解与应用 JavaScript 中的回调函数
  • 前端UI编程基础知识:Flex弹性布局
  • ICMP、UDP以及IP、ARP报文包的仲裁处理
  • css动画实现铃铛效果
  • springboot EasyExcel 实现导入导出
  • 麒麟系统如何安装Anaconda
  • JobScheduler省电机制
  • 【渗透测试】反弹 Shell 技术详解(二)
  • Easyocr图片识别小结
  • Flutter_学习记录_ ImagePicker拍照、录制视频、相册选择照片和视频、上传文件
  • 无监督学习——降维问题:主成分分析(PCA)详解
  • 【原创】在宝塔面板中为反向代理添加Beare认证
  • idc新人如何做自己的网站/图片扫一扫在线识别照片
  • 原生小程序是什么/seo查询seo
  • 免费手机虚拟机/武汉seo服务多少钱
  • 自己的网站怎么做的/抖音搜索排名
  • 太原市住房和城乡建设局的网站/天津债务优化公司
  • 第一个做电子商务的网站/百度培训