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

news2024/10/2 10:42:56

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等技术内容,立即学习

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

力扣算法-Day19

344.反转字符串 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 你可以假设数组中的所有字符都是 ASCII 码表中的…

5|领域建模实践(上):怎样既准确又深刻地理解业务知识?

上节课咱们完成了事件风暴,梳理了系统的行为需求。但你可能也发现了,其实还有些微妙的业务概念还没有澄清,这就要靠领域建模来完成了。 建立领域模型是 DDD 的核心。要建好领域建模,需要理论和实践相结合。由于我们的模型有一定的…

5.【SpringBoot3】文件上传

1. 文件上传到本地 需求分析 在用户更换头像或发布文章时,需要携带一个图片的 url 地址,该 url 地址是当用户访问文件上传接口,将图片上传成功后,服务器返回的地址。所以,后台需要提供一个文件上传接口,用…

Unity2020.3打包ARFoundation问题记录

文章目录 前言一、打包成功后再打包失败(重启工程后)二、URP管线总结 前言 在Unity 2020.3版本中使用ARFoundation进行打包时,遇到一些小问题。本文简要记录了其中一些问题及解决方法,以备不时之需。 一、打包成功后再打包失败&a…

嵌入式培训机构四个月实训课程笔记(完整版)-Linux ARM平台编程第四天-Bootloader编写2(物联技术666)

链接:https://pan.baidu.com/s/1eb94AaDM-cIZsbr929Isbw?pwd1688 提取码:1688 上午:bootloader的编写 下午:bootloader 教学内容: 1、vivi vivi有关nandflash MTD分区表控制命令: part show: …

python爬虫采集下载中国知网《出版来源导航》论文文献下载_PDF文档_数据采集知网爬虫论文Python3

时隔一年,很久没更新博客了。今天给大家带来一个python3采集中国知网 :出版来源导航 这个是网址是中国知网的,以下代码仅限于此URL(出版来源导航)采集,知网的其他网页路径采集不一定行,大家可以…

C++:vector容器(memcpy浅拷贝问题、迭代器失效问题)

文章目录 一. vector 的介绍二. vector 的使用1. string 和 vector<char> 的区别2. 为什么 vector 没有 find() 接口 三. vector 的模拟实现1. vector 的基本框架2. memcpy 和 memmove 的浅拷贝问题3. vector 迭代器失效问题4. 模拟代码 一. vector 的介绍 vector 的文档…

mysql调优-Join多种连接方式

简单嵌套循环连接 r为驱动表&#xff0c;s为匹配表&#xff0c;可以看到从r中分别取出每一个记录去匹配s表的列&#xff0c;然 后再合并数据&#xff0c;对s表进行r表的行数次访问&#xff0c;对数据库的开销比较大 索引嵌套循环连接 这个要求非驱动表&#xff08;匹配表s&…

【Python】01快速上手爬虫案例一:搞定豆瓣读书

文章目录 前言一、VSCodePython环境搭建二、爬虫案例一1、爬取第一页数据2、爬取所有页数据3、格式化html数据4、导出excel文件 前言 实战是最好的老师&#xff0c;直接案例操作&#xff0c;快速上手。 案例一&#xff0c;爬取数据&#xff0c;最终效果图&#xff1a; 一、VS…

EMQX 单机及集群搭建

目录 1. 通过 Yum 源安装&#xff08;CentOS7 单机安装&#xff09; 1.1. 通过以下命令配置 EMQX Yum 源&#xff1a; 1.2. 运行以下命令安装 EMQX&#xff1a; 1.3. 运行以下命令启动 EMQX&#xff1a; 1.4. 访问 http://192.168.88.130:18083&#xff0c;默认用户名: adm…

【斯坦福计网CS144项目】Lab2 实现一个简单的 TCP 接收类

&#x1f57a;作者&#xff1a; 主页 我的专栏C语言从0到1探秘C数据结构从0到1探秘Linux &#x1f618;欢迎关注&#xff1a;&#x1f44d;点赞&#x1f64c;收藏✍️留言 &#x1f3c7;码字不易&#xff0c;你的&#x1f44d;点赞&#x1f64c;收藏❤️关注对我真的很重要&…

数据结构(C语言版)代码实现(四)——静态单链表的部分代码实现

目录 参考材料、格式 头文件SLinkList.h 库、宏定义、函数类型声明 线性表的静态单链表存储结构 按值查找 初始化静态链表 分配空间 回收空间 打印已用链表中的元素 求集合(A-B)U(B-A)中的元素&#xff08;重点介绍&#xff09; 调试过程 修改报错与警告 调试 完整…

何恺明 ResNet 引用量正式破20万!!!

注: 本文转自微信公众号 BravoAI (专注AI资讯和技术分享), 原文网址: 何恺明 ResNet 引用量正式破20万!!!, 扫码关注公众号 谷歌学术显示, 截止到 2024年1月26日, 何凯明 ResNet 一文引用量正式突破 20W!!! 更为惊人的是, 从论文发表到今天, 不过7年!!!‍‍‍‍‍‍‍‍‍‍‍‍…

6轴机器人运动正解-逆解控制【1】——三种控制位姿的方式

概览&#xff1a; 通过运动学正解控制机器人运动通过运动学逆解控制机器人运动一个简单的物体搬运&#xff08;沿轨迹运动&#xff09; 后续会陆续更新&#xff08;本例仅供学习交流用&#xff09; 一、6轴机器人 二、运动正解控制 通过修改各个轴的角度&#xff0c;实现末…

演示黄金票据,使用普通账户导入黄金票据创建域管理员

前提域搭建好了&#xff0c;域名是lin.com 首先我进入的是本机的用户不是域用户 我要是用本地用户&#xff0c;本地用户拿的票告诉我们这个TGS服务说我是域管账户administrator&#xff08;需要拿到域用户的哈希&#xff09; 此时进入到预控主机中&#xff08;人家是正儿八经…

Google Chrome RCE漏洞 CVE-2020-6507 和 CVE-2024-0517 流程分析

本文深入研究了两个在 Google Chrome 的 V8 JavaScript 引擎中发现的漏洞&#xff0c;分别是 CVE-2020-6507 和 CVE-2024-0517。这两个漏洞都涉及 V8 引擎的堆损坏问题&#xff0c;允许远程代码执行。通过EXP HTML部分的内存操作、垃圾回收等流程方式实施利用攻击。 CVE-2020-…

计算机网络 第6章(应用层)

系列文章目录 计算机网络 第1章&#xff08;概述&#xff09; 计算机网络 第2章&#xff08;物理层&#xff09; 计算机网络 第3章&#xff08;数据链路层&#xff09; 计算机网络 第4章&#xff08;网络层&#xff09; 计算机网络 第5章&#xff08;运输层&#xff09; 计算机…

MySQL十部曲之一:MySQL概述及手册说明

文章目录 数据库、数据库管理系统以及SQL之间的关系关系型数据库与非关系型数据库手册语法约定 数据库、数据库管理系统以及SQL之间的关系 名称说明数据库&#xff08;Database&#xff09;即存储数据的仓库&#xff0c;其本质是一个文件系统。它保存了一系列有组织的数据。数…

【第四天】蓝桥杯备战

题 1、求和2、天数3、最大缝隙 1、求和 https://www.lanqiao.cn/problems/1442/learning/ 解法&#xff1a;字符串方法的应用 import java.util.Scanner; // 1:无需package // 2: 类名必须Main, 不可修改public class Main {public static void main(String[] args) {Scann…

xshell无法连接linux,查询本机ip时出现<NO-CARRIER,BROADCAST,MULTICAST,UP>

在用xshell连接虚拟机VMware中的linux时&#xff0c;发现昨天还能连通的&#xff0c;今天连接不了了 我寻思应该是网卡配置出问题了&#xff0c;就去终端ip addr试了一下&#xff0c;果然发现问题&#xff0c;ip 查看网卡ens33就发现出现ens33:<NO-CARRIER,BROADCAST,MULTI…