调度算法

article/2025/9/15 16:17:58

1.先来先服务调度算法(FCFS):

按照到达的先后顺序进行调度。

 

周转时间=完成时间 - 到达时间

带权周转时间=周转时间 / 运行时间

等待时间=周转时间 - 运行时间

 特殊情况:当有I/O操作(输入/输出)的进程的时候,等待时间=周转时间 - 运行时间 - I/O操作时间  

 非抢占式的算法:由系统主动结束进程,而非外界将进程中断。

“饥饿”:某进程长期得不到服务,进而导致’饥饿‘

 2.短作业优先算法(SJF):

(1)短进程优先调度算法(SPF):

     该算法是非抢占式的。

 P1\rightarrowP3\rightarrowP2\rightarrowP4  :

因为P1到达时间为0,所以P1先进行运算。等P1运算完成时,时间来到了7秒,这时候P2,P3,P4都已经到达。根据短进程优先的原则,P3的运行时间为1秒,所以先进行P3的运算。P3结束后,由于P2与P4的运行时间相同,所以比较到达时间,P2的到达时间比P4快,所以先进行P2的运算,再进行P4的运算。   

(2)最短剩余时间优先算法(SRTN):

     该算法是抢占式的。

 P1\rightarrowP2\rightarrowP3\rightarrowP2\rightarrowP4\rightarrowP1  :

因为P1的到达时间为0,所以先进行P1的运算,当P1运行了两秒时,P2到达,(这时候P1还需要5秒运算完成,而P2只需要4秒完成。根据最短剩余时间优先的规则 ,这时候停止P1的运算,进行P2的运算。 )当P2运行2秒的时候,P3到达就绪队列(P3只需要1秒就可运行完毕,而P2还需要2秒才能运行完毕。根据最短剩余时间优先的规则,停止P2的运算,进行P3的运算)当P3运行完1秒时(P3已结束),P4已到达。这时候     P1因为一开始已经运行了两秒,所以还剩5秒。同理,P2还剩2秒,P4还剩4秒。进行比较剩余时间,根据最短剩余时间优先的规则,先进行P2的运行,再进行P4的运行,最后进行P1的运行。 

 注意:

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

 

该算法是非抢占式的。

P1\rightarrowP3\rightarrowP2\rightarrowP4   :  

首先P1先到达,先进行运算,由于该调度算法是非抢占式的,所以P1会进行到底,进行到底之后,时间过了7秒,这时候P2,P3,P4都到达了,所以要比较响应比,在P1进行到了第4秒的时候,P3开始进入就绪队列,开始进行准备,当P1结束时,P3的等待时间为3秒,要求服务时间为1秒,所以P3的响应比为3。同理,P2,P4的响应比为2.25,1.5。    P3的响应比最大,所以先进行P3的进程。由于该调度算法是非抢占式的,所以P3会进行到底,所以等P3运行结束后,再比较P2与P4的抢占比(要重新计算),所以就是先进行P2,在进行P4。

 

 

 

 4.时间片轮转调度算法(RR,Round-Robin):

时间片轮转常出现在分时操作系统中,更注重“响应时间”

 时间片不易过大也不能过小。(过大会增大进程的响应时间,过小会使进程切换过于频繁

 

一般来说,设计时间片时要让切换进程的开销占比不超过百分之一

 

 

 

 5.优先级调度算法:

(1)非抢占式的优先级调度算法:

一般来说,优先数越大,优先级越高,但还是要以题目为准。

 

(2)抢占式的优先级调度算法:

 

 

 

 小结:

 静态优先级:创建进程时确定,之后一直不变。

 动态优先级:根据情况动态地调整优先级,当某个进程在就绪队列中等待很长时间后,可以适当提升其优先级,若某进程占用处理机很长时间,则可适当降低其优先级。

 

 

 

 

 

 6.多级反馈队列调度算法:

 

多级反馈队列调度算法是对其他算法的折中权衡

 

 

 

总结:

 

 

 哇哇哇,今天写了一天的文章,真的好多字呀,不过很开心,这些内容我都看了好几遍,都理解了呢,好开心,再写上了自己的见解,感觉蛮不错,哈哈,表扬自己一下下,我会好好加油呐。 


http://chatgpt.dhexx.cn/article/cgYAAC89.shtml

相关文章

操作系统——调度算法

文章目录 前言一、先来先服务(FCFS)二、最短时间优先(SJF)三、最高响应比优先(HRRN)四、时间片轮转(RR)五、优先级调度六、多级反馈队列总结 前言 本文的主要内容是调度算法的介绍,包括先来先服务(FCFS)、最短时间优先(SJF)、最高响应比优先(HRRN)、时间片轮转(RR)…

调度算法-优先级调度算法+例题详解

1. 优先级调度算法的类型 优先级进程调度算法,是把处理机分配给就绪队列中优先级最高的进程。这时,又可进一步把该算法分成如下两种。 非抢占式优先级调度算法。抢占式优先级调度算法。 2. 优先级的类型 静态优先级 静态优先级是在创建进程时确定的&…

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

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

【操作系统】几种常用调度算法

文章目录 一、先来先服务调度算法(FCFS)二、短作业优先调度算法(SJF)最短作业优先调度算法(SJF)最短剩余时间优先调度算法(SRTF) 三、响应比最高者优先调度算法(HRRF&…

【操作系统】_7种进程调度算法

书中一共描述了七种进程调度算法,为了学到这几种调度算法,后边做了几道练习题。 1. 先来先服务(FCFS)调度算法 先来先服务调度算法是最简单的调度方法。其基本原则是,按照进程进入就绪队列的先后次序进行选择。对于进…

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

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

几种常见的调度算法

文章目录 1.先来先服务算法(FCFS,First Come First Service)2.短作业优先算法(SJF,Short Job First)3.高响应比优先算法4.时间片轮转算法5.优先级调度算法6.多级反馈队列算法 1.先来先服务算法(FCFS,First Come First …

videojs播放m3u8格式视频

videojs 是不支持m3u8格式,需要配合videojs-contrib-hls插件 npm install --save video.js npm install --save videojs-contrib-hls 不加muted 刷新时不会自动播放,但是加上就会没有声音了,因为业务不需要声音所以没有影响

一个可以在线播放解析m3u8,mp4的网站 m3u8player.lantianye3.top

自己写的一个可以在线播放m3u8的网页,在这里分享一下。借助m3u8 player网页播放器,只需将您的M3U8文件地址或者mp4链接复制粘贴到播放器地址栏中然后点击播放即可。 网站 http://m3u8player.lantianye3.top/ 如有不足,多多指教。 首页截图&am…

视频工具下载(m3u8、MP4)

下载视频m3u8工具 FFmpeg 转 ts 格式 笔记有点乱 都是一笔带过(有链接),可以参考别人教程 1、下载m3u8工具(支持win和liunx) 下载链接 20201019 (都是2020年的,还是可以用) 使用…

前端如何播放m3u8格式的视频

m3u8格式的视频是将文件分成一小段一小段的ts文件,播放完一个在播放下一个,由于每次请求的ts文件都很小,所以基本可以做到无延时播放。目前WEB上主流的直播方案主要是HLS和RTMP,移动端主要是HLS,PC端主要是RTMP。 HLS…

如何下载m3u8格式视频

小编记得以前手机流量少的时候,电脑上下课程或电影再存到手机上看还是很容易的 现在虽然这种需求比较少,但还是有一些视频想下载下来,不过却发现下不了了因为很多的视频都不提供下载地址或下载的是加密的视频格式 即使我们能通过工具采集到…

Android m3u8网络视频播放

最近在做 m3u8网络视频播放,踩了不少坑,也试了不少的 框架,特别记录一下其中用的比较多的三种 第一种:media:ijkplayer media:ijkplayer 是由 bilbil 提供的开源的视频 框架,但是由过之后感觉不太好用: …

网页在线视频下载教程(m3u8格式介绍及下载教程)

简介: m3u8文件是苹果公司使用的HTTP Live Streaming(HLS)协议格式的基础。HLS是新一代流媒体传输协议,其基本实现原理为将一个大的媒体文件进行分片,将该分片文件资源路径记录与m3u8文件(即playlist&…

什么是m3u8?

什么是m3u8? ​  m3u8是苹果公司推出的视频播放标准,是m3u8的一种,只是编码格式采用的是UTF-8。 m3u8准确来说是一种索引文件,使用m3u8文件实际上是通过它来解析对应的放在服务器上的视频网络地址,从而实现在线播放。使用m3u8…

M3U8是什么

m3u8是苹果公司推出的视频播放标准,是m3u8的一种,只是编码格式采用的是UTF-8。   m3u8准确来说是一种索引文件,使用m3u8文件实际上是通过它来解析对应的放在服务器上的视频网络地址,从而实现在线播放。使用m3u8格式文件主要因为…

video.js播放m3u8视频

m3u8 是一种基于HTTP Live Streaming(HLS)文件视频格式,它主要是存放整个视频的基本信息和分片(Segment)组成。目前 由 Apple.inc 率先提出的 HLS 协议在 Mac 的 Safari 上原生支持。 video.js是H5视频播放器,支持播放m3u8视频。这…

下载 .m3u8视频文件

简介 M3U8 是 Unicode 版本的 M3U,用 UTF-8 编码。"M3U" 和 "M3U8" 文件都是苹果公司使用的 HTTP Live Streaming(HLS) 协议格式的基础,这种协议格式可以在 iPhone 和 Macbook 等设备播放。 上述文字定义来自…

前端播放m3u8格式视频

m3u8是苹果公司推出的视频播放标准,是m3u的一种,只是编码格式采用的是UTF-8。m3u8准确来说是一种索引文件,使用m3u8文件实际上是通过它来解析对应的放在服务器上的视频网络地址,从而实现在线播放。 m3u8格式的视频是将文件分成一小…

使用videojs播放m3u8视频

vue3使用videojs 播放m3u8格式视频 videojs是一个播放视频的js库,可以通过videojs结合videojs-contrib-hls实播放m3u8格式视频。流媒体传输协议(hls)定义了用来控制播放的m3u8文件 m3u8是一个文本文件(播放列表文件),里面的内容就是被播放的音视频文件路…