CHS_07.2.2.4_3+调度算法:多级队列调度算法

CHS_07.2.2.4_3+调度算法:多级队列调度算法

  • 多级对列调度算法

接下来

多级对列调度算法

看一个图你就明白了 如果一个系统采用多级对列调度算法
在这里插入图片描述

那么 这个系统会按照进程的类型设置多个对列 并且给不同的对列设置不同的优先级

举个例子 分为系统进程 交互式进程以及批处理进程 最上面的这个对列

优先级最高 然后往下 优先级一次降低 当一个进程被创建之后

首先要给进程进行一个分类 它属于哪一类进程 就把它分到相应的对列当中

好 首先解释一下为什么我们这个例子当中要这么设计各个队列的优先级 首先 系统进程它的优先级最高 这个无可厚非 对吧

另外 交互式的进程需要得到比较及时的响应和反馈 比如说你打游戏的时候 或者打字的时候 你当然是希望自己的鼠标以及键盘点下去之后立即得到一个反馈

因此 相比其他用户进程而言 交互式的进程显然应该给他赋予更高的优先级 更优先的去处理 这样才可以更快的去响应用户的请求

和那批处理进程比 交互式进程的优先级更低 这个就很好理解了 比如说学人工智能 我们训练a i模型的时候

或者你剪辑了一个视频需要渲染这个视频的时候 那这个渲染的过程它的优先级放低一点 对你而言体验没有那么糟糕 对吧

你会更关注当前和你交互的这些进程 它的一个反应的速度 而不是在后台渲染视频的时候 它速度到底有多快 有没有很及时

这个你并不关心 因此这三个队列的优先级才是这样的一个排列 系统进程最高 其次交互式的进程

最后是批处理进程 当然这只是一个简单的例子 帮助大家理解 实际的操作系统当中 还可以给进程进行更多的分类 也就是分为更多级的对列

好 那这种调度算法我们可以给各个队列之间设置一个绝对的 固定的优先级

采取这种策略意味着只要高优先级的队列此时不空 那么接下来运行的肯定是高优先级的这个队列里面的进程

这种方式有时候是不合理的 比如说你作为用户 你现在正在打字 但是现在只要就去对这一边有一个系统进程 那你这个打字的动作就永远不会被响应

那这样你的使用体验是不是很糟糕好 所以还有另一种方式 我们可以给不同的队列分配不同的时间

比如说100毫秒的时间 我们先给系统进程分配50%也就是50毫秒

让交互式的进程用40毫秒来处理 剩下的十毫秒再来处理这个批处理的进程

也可以这么搞 那这样的话就可以保证在固定的一个时间范围内 任何一类的进程都至少会被响应一次

照我们回答的是 每一次调度应该选择哪个对列这样的一个问题

好 那选中了一个队列之后 一个队列当中有很多很多个同类的就绪进程 对吧

在这个队列当中 我们又应该选择哪一个进程呢 那事实上 各个队列我们可以采用不同的调度策略

比如说系统进程 系统进程 我们可以采用优先级调度有多个当前就绪的系统进程 那谁的优先级更高 谁更紧急 我就优先处理谁

而交互式对列当中 我们可以选择时间片轮转调度 时间片轮转可以保证

各个交互式的进程在很短的一个时间周期内都会被至少响应一次

那最后批处理这对列当中 可以从先来先服务的一个调度策略 当然这只是一个举例啊 我们还可以设置别的调度算法

好 所以多级对列调度算法并不复杂 系统会设置多个就绪对列

每个就绪队列的优先级各不相同 每一次调度发生的时候 首先要选中一个队列

然后再根据这个队列内的调度算法来选取队列内的某一个进程 让他上述了一句 运行

那这就是多级对列调度算法

推荐一个零声学院免费公开课程,个人觉得老师讲得不错,分享给大家:Linux,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK等技术内容,立即学习

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/350593.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Java面试题(6)

28.创建线程池有哪几种方式 newFixedThreadPool(int nThreads) :创建一个固定长度的线程池,如果有线程发生错误而结束, 线程池会补充一个新线程。 newCachedThreadPool() :创建一个可缓存的线程池,会自动回收和创建空…

spring cloud之分布式事务

写在前面 1:分布式事务介绍 参考MySQL之分布式事务 。 2:seata实战 架构图: 可以看到seata在这里作为协调者的角色,协调所有事务的提交以及回滚,其中seata使用MySQL存储每个分支事务的执行状态信息,以…

webassembly003 whisper.cpp的main项目-1

参数设置 /home/pdd/le/whisper.cpp-1.5.0/cmake-build-debug/bin/main options:-h, --help [default] show this help message and exit-t N, --threads N [4 ] number of threads to use during computation-p N, --processors …

使用css将文字在水平线中显示

方法一&#xff1a; 1.效果图 2.html <!-- <div class"line">第三方登录</div> --> 3.css /* 让文字在水平线中显示 */.line {display: flex;flex-direction: row;color: #ccc;font-size: 18px;font-weight: bolder; }.line:before, .line:aft…

Servlet API

Servlet的API就是一组类和方法 其中主要的三个类有 HttpServlet HttpServletRequest HttpServletResponse HttpServlet 这是编写Servlet代码用到的核心类 通过继承这个类 并重新写其中的方法 让tomcat去调用到这里的逻辑 方法名称调用时机init在HttpServlet实例化之后被调用…

攻防世界WEB新手训练区

view_source 此题我愿称之为网安领域的hello world 查看网页源代码的方式一般有—— 右键->查看网页源代码F12->源代码/来源Ctrlu 随后可以再代码第17行处找到flag&#xff0c;至此迈入网安第一步。可喜可贺&#xff0c;可喜可贺... get_post 考察http的两种请求方式&…

【大数据面试题】HBase面试题附答案

目录 1.介绍下HBase 2.HBase优缺点 3.介绍下的HBase的架构 4.HBase的读写缓存 5.在删除HBase中的一个数据的时候&#xff0c;它是立马就把数据删除掉了吗? 6.HBase中的二级索引 7.HBase的RegionServer宕机以后怎么恢复的? 8.HBase的一个region由哪些东西组成? 9.…

论述Python中列表、元组、字典和集合的概念

Python列表是用于存储任意数目、任意类型的数据集合&#xff0c;包含多个元素的有序连续的内存空间&#xff0c;是内置可变序列&#xff0c;或者说可以任意修改。在Python中&#xff0c;列表以方括号&#xff08;[ ]&#xff09;形式编写。 Python元组与Python列表类似&#x…

oak-d-lite摄像头 去噪处理

前言 试过了各种滤波才知道&#xff0c;为啥oak在示例算法只是使用5X5滤波而不使用更好的滤波的原因了。 实验内容 oak-d-lite使用的工业相机噪声主要表现为随机的亮度变化&#xff0c;使用Non-Local Means Denoising算法后去噪效果很好&#xff08;左为原图&#xff09;&…

3D建模素材网站的特点有哪些?

3D建模素材网站的特点主要包括丰富多样的模型种类、高质量的模型、实时预览功能、易于使用、价格合理以及社区互动等。这些特点使得3D建模素材网站成为设计师们不可或缺的资源之一&#xff0c;帮助他们快速高效地完成设计工作。 那么3D建模素材网站的特点有哪些? 1、模型种类丰…

【复现】Laykefu客服系统后台漏洞合集_29

目录 一.概述 二 .漏洞影响 三.漏洞复现 1. 漏洞一&#xff1a; 2. 漏洞二&#xff1a; 3. 漏洞三&#xff1a; 4. 漏洞四&#xff1a; 四.修复建议&#xff1a; 五. 搜索语法&#xff1a; 六.免责声明 一.概述 Laykefu客服系统是thinkphp5Gatewayworker搭建的web客服…

「QT」QString类的详细说明

✨博客主页何曾参静谧的博客📌文章专栏「QT」QT5程序设计📚全部专栏「VS」Visual Studio「C/C++」C/C++程序设计「UG/NX」BlockUI集合「Win」Windows程序设计「

契约锁高校行业电子签应用报告

高校数字化建设起步早&#xff0c;也是电子签章应用最为广泛的行业之一。为了及时为高校组织提供服务参考&#xff0c;契约锁整合了近年在高校行业的方案、场景、案例等资源生成“高校电子签应用报告”&#xff0c;随时为数字化校园建设助力。 高校电子签建设所需资料都在这 整…

ps---1.使用置入嵌入的智能化对象命令制作拼贴画

ps—使用置入嵌入的智能化对象命令制作拼贴画 素材 步骤 打开背景图 置入嵌入对象&#xff08;置入完&#xff0c;移动到正确的位置&#xff0c;回车或双击&#xff09; 栅格化图层 重复上述步骤制作拼贴画

图像读写(imgcodecs 模块)与视频读写

内置格式 OpenCV 可以在没有任何第三方库帮助的情况下读取以下格式&#xff1a; BMP的 高动态范围 (WITH_IMGCODEC_HDR) 太阳栅格 (WITH_IMGCODEC_SUNRASTER) PPM、PGM、PBM、PFM&#xff08;、WITH_IMGCODEC_PXMWITH_IMGCODEC_PFM) PNG、JPEG、TIFF、WEBP 支持 格式选择…

[SUCTF 2019]CheckIn1

黑名单过滤后缀’ph&#xff0c;并且白名单image类型要有对应文件头 对<?过滤&#xff0c;改用GIF89a<script languagephp>eval($_POST[cmd]);</script>&#xff0c;成功把getshell.gif上传上去了 尝试用.htaccess将上传的gif当作php解析&#xff0c;但是失败…

Flask 之旅 (二):表单

背景 上一篇帖子我们使用 Flask 创建了最基本的 web 服务。使用 bootstrap 对页面进行装点&#xff0c;使用 JQuery Ajax 实现了在页面上实时显示 log 的功能。趁着周末&#xff0c;我继续开始学习更多的东西以满足这个 web 服务的需求。 模板继承 之前我们有了首页&#xf…

多线程-单例模式

目录 1.单例模式 举例&#xff1a; 1.1单例模式的实现 饿汉模式&#xff1a; 懒汉模式&#xff1a; 1.单例模式 单例模式是一种设计模式。单例模式能保证某个类在程序中只存在唯⼀⼀份实例, ⽽不会创建出多个实例. 举例&#xff1a; package 多线程;import javax.manage…

Django从入门到精通(三)

目录 七、ORM操作 7.1、表结构 常见字段 参数 示例 7.2、表关系 一对多 多对多 第一种方式 第二种方式 7.3、连接MYSQL 7.4、数据库连接池 7.5、多数据库 读写分离 分库&#xff08;多个app ->多数据库&#xff09; 分库&#xff08;单app&#xff09; 注意…

微服务入门篇:Eureka注册中心(作用,搭建Eureka客户端和服务端)

目录 1.提供者与消费者2.Eureka的作用3.搭建EurekaServer1.配置服务端2.配置客户端3.复制实例操作4.服务拉取 1.提供者与消费者 ①服务提供者:一次业务中&#xff0c;被其它微服务调用的服务。&#xff08;提供接口给其它微服务) ②服务消费者:一次业务中&#xff0c;调用其它微…