首页 > 系统相关 >小林coding学习笔记(进程调度算法)

小林coding学习笔记(进程调度算法)

时间:2024-09-16 14:12:42浏览次数:9  
标签:优先级 队列 coding 调度 进程 算法 小林 CPU

//进程调度算法
进程调度算法是CPU通过进程调度算法决定某个时刻去调用哪个进程到CPU上运行的算法
1、先来先服务调度算法
每次从就绪队列的队头调度到CPU上运行,直到进程退出或被阻塞,才会继续从队列中调度进程运行。
特点:对短作业不利,对长作业有利,无法平衡短作业与长作业。
2、最短作业优先调度算法
每次调度就绪队列中运行时长最短的进程,直到进程退出或被阻塞,才会继续从队列中调度进程运行。
特点:增加了吞吐量,对短作业有利,但对长作业不利,无法平衡短作业与长作业。
3、高响应比优先调度算法
每次进行进程调度时,先计算就绪队列中的响应比,选择响应比最高的进程调度到CPU上。
响应比=(等待时间+要求服务时间)/要求服务时间,当等待时间相同时,短作业服务时间短,则响应比高,对短作业有利。当要求服务时间相同时,等待时间越长,则响应比越大,对长作业有利。
所以高响应比优先调度算法兼顾了短作业与长作业。
4、时间片调度算法
最古老、最广、最简单、公平的方法就是时间片调度算法
就是就绪队列中的每个进程被调度到CPU上运行的时间都是固定的一个时间片(时钟中断),如果进程运行时间到了,那么CPU就会释放该进程,让下一个进程调度到CPU。如果进程在时间片结束前阻塞或结束,则CPU立即进行切换。
5、优先级调度算法
对于计算机来说,实际应用中有些进程是更为紧迫和更为需要的,所以此时就产生了优先级的概念,优先级调度就是从就绪队列中选择优先级高的任务调度到CPU上运行。
在消息队列中(kafka)中设计的有优先级队列这种模块,C++里面使用priority_queue<pair<int,function<void()>>来实现任务的优先级,第一个参数int代表优先级,第二个参数function<void()>代表任务函数。
静态优先级是一开始设置好优先级,而动态优先级是根据运行过程中,如果运行时间增加则降低优先级,等待时间增加就提升优先级。
6、多级反馈队列调度算法
多级即多个队列,从上到下优先级降低的多个队列
反馈表示当有新的进程加入优先级较高的队列时,运行在CPU上的进程会被阻塞,然后CPU调度新进程。

其结构如上图所示,从上到下队列优先级依次降低,且优先级越高的队列时间片越短

标签:优先级,队列,coding,调度,进程,算法,小林,CPU
From: https://www.cnblogs.com/ZhangWuyue/p/18416253

相关文章

  • 小林coding学习笔记(1)-2024.09.16
    HTTP版本的区别变化HTTP1.1相较于HTTP1.0,多了长连接,可以支持同一个HTTP会话的复用,避免了频繁的建立与关闭的资源开销。//SSL/TLS的建立过程-四次握手1、客户端Hello客户端发送1支持的TLS协议版本2一个随机数用于后续产生会话密钥3支持的密码套件,如非对称加密RSA算法2、服......
  • 【检索稳定,JPCS出版】第二届应用统计、建模与先进算法国际学术会议(ASMA2024,9月27日-29
    大会简介由哈尔滨理工大学主办的第二届应用统计、建模与先进算法国际学术会议(ASMA2024)将于2024年9月27日-29日于中国哈尔滨召开。会议将围绕应用统计、建模及先进算法等在数学领域中的最新研究成果,为来自国内外高等院校、科学研究所、企事业单位的专家、教授、学者、工......
  • 安全帽图像识别算法
    安全帽图像识别算法依据AI深度学习+边缘计算,通过机器视觉ai分析检测算法可以有效识别工人是不是合规和佩戴安全帽,安全帽图像识别算法提高视频监控不同场景下的主动分析与识别报警能力。安全帽图像识别算法系统搭载了全新的人工智能图像识别技术实时分析现场监控画面图像,与人力监管......
  • 代码随想录算法训练营,9月16日 | 235. 二叉搜索树的最近公共祖先,701.二叉搜索树中的插
    235.二叉搜索树的最近公共祖先题目链接:235.二叉搜索树的最近公共祖先文档讲解︰代码随想录(programmercarl.com)视频讲解︰二叉搜索树的最近公共祖先日期:2024-09-16想法:相比于普通二叉树,二叉搜索树从上往下遍历,在qp中间的值的一定是公共祖先,而第一个则是最近,因为此时你在这个祖......
  • 代码随想录算法训练营Day5 | 哈希表理论基础、242.有效的字母异位词、349.两个数组的
    哈希表理论基础哈希表哈希表是根据关键码的值而直接进行访问的数据结构。数组就是一张哈希表,哈希表中关键码就是数组的索引下标,然后通过下标直接访问数组中的元素,如下图所示:哈希表一般用来快速判断一个元素是否出现集合里。哈希函数哈希函数通过特定编码方式,可以将其......
  • 禁忌搜索算法(TS算法)求解实例---旅行商问题 (TSP)
    目录一、采用TS求解TSP二、旅行商问题2.1实际例子:求解6个城市的TSP2.2==**求解该问题的代码**==2.3代码运行过程截屏2.4代码运行结果截屏(后续和其他算法进行对比)三、==如何修改代码?==3.1减少城市坐标,如下:3.2增加城市坐标,如下:四、禁忌搜索算法(TabuSearc......
  • 蚁群算法(ACO算法)求解实例---旅行商问题 (TSP)
    目录一、采用ACO求解TSP二、旅行商问题2.1实际例子:求解6个城市的TSP2.2==**求解该问题的代码**==2.3代码运行过程截屏2.4代码运行结果截屏(后续和其他算法进行对比)三、==如何修改代码?==3.1减少城市坐标,如下:3.2增加城市坐标,如下:四、蚁群算法(AntColonyOp......
  • 一文让你的计算机图形学从入门到入坟,从画线算法=>光线追踪=>GPU的并行加速与手搓仿真平
    文章目录前言一.计算机图形学是什么?有什么?为什么学?当前发展?二.基础概念2.120道基础知识Q&A2.2计算机图形学设备及组成2.2.1设备分类2.2.2输入设备2.2.3输出设备2.3帧缓存原理详细解释2.3.1帧缓存的基本概念2.3.2帧缓存的结构2.3.3总结2.3OpenGL的基础知识......
  • 文心一言 VS 讯飞星火 VS chatgpt (347)-- 算法导论23.2 6题
    六、假定一个图中所有的边权重均匀分布在半开区间[0,1)内。Prim算法和Kruskal算法哪一个可以运行得更快?如果要写代码,请用go语言。文心一言:在比较Prim算法和Kruskal算法在特定条件下的性能时,我们需要考虑几个因素,主要是图的表示方式、边的数量、顶点的数量以及边的权重分布。由于在......
  • JVM四种垃圾回收算法以及G1垃圾回收器(面试)
    JVM垃圾回收算法标记清除算法:标记清除算法将垃圾回收分为两个阶段:标记阶段和清除阶段。在标记阶段通过根节点,标记所有从根节点开始的对象。然后,在清除阶段,清除所有未被标记的对象适用场合:存活对象较多的场景下比较高效缺点:容易产生内存碎片复制算法:从根节点进行扫描,......