操作系统之调度

article/2025/9/1 2:15:16

目录

什么是调度

进程调度的时机、切换、过程与方式

调度器/调度程序

调度算法

先来先服务算法

短作业优先算法

高响应比优先算法

时间片轮转算法

优先级调度算法

多级反馈队列调度算法


什么是调度

调度的三个层次

高级调度

中级调度

低级调度

总结如下:

进程调度的时机、切换、过程与方式

进程调度的时机

注意区分普通临界区和操作系统内核程序临界区

根据主动和被动放弃处理机,可分为抢占式和非抢占式调度

进程切换过程

调度器/调度程序

有了新进程,调度程序要出来看看是不是需要上处理机;进程退出或者进程阻塞,处理机就会空闲下来,也要出来看看接下来应该让谁上处理机。

如果线程是基本的调度单位,道理也是一样的

另外,如果没有任何需要调度的程序,那么,CPU就会运行闲逛程序,也就是说,CPU是永远都不会停下来的。

闲逛指令的末尾可以周期性地唤醒调度程序来看看有没有其他程序需要进行调度,如果有,则闲逛程序下处理机,其他程序上处理机。

调度算法

调度算法的评价指标

CPU利用率

系统的吞吐量

周转时间

有一个问题需要思考下

比如,排队等待上厕所的过程,等了10分钟,然后用了1分钟;和等了1分钟,用了10分钟。

这两者给人的感觉,显然后者更让人满意。

作业的周转时间同样如此

带权周转时间就是用来评价用户满意度的指标。

比如,我想打印1张文件,却要等10分钟,这样显然让人很不满意。

但是如果我想打100张纸,却只等了1分钟,这样就让人感到很满意。

等待时间

响应时间

总结如下:

先概览一下

先来先服务算法

短作业优先算法

非抢占式短作业优先

抢占式短作业优先(又叫最短剩余时间优先算法)

注意:

高响应比优先算法

 

上述三种调度算法总结如下:

时间片轮转算法

举例:时间片大小为2

举例:时间片大小为5

这里如果换成先到先服务算法

 

优先级调度算法

非抢占式优先级调度

抢占式优先级调度

静态优先级和动态优先级

对上述几种算法的思考

多级反馈队列调度算法

总结如下:


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

相关文章

操作系统——线程调度

0.关注博主有更多知识 操作系统入门知识合集 目录 6.1线程调度概念 思考题: 6.2典型调度算法 思考题: 6.3Linux线程调度 6.1线程调度概念 在第四章曾经介绍过,线程是操作系统调度的基本单位,那么本篇就不再以进程的视角去…

【分布式任务调度】(四)XXL-JOB的任务调度执行流程及实现原理

文章目录 1.概述2.调度中心流程2.1.任务配置扫描流程2.2.计算任务触发时机2.2.1.已超时5秒以上2.2.2.超时未超过5秒2.2.3.还未到触发时间 2.3.任务触发流程2.3.1.任务触发线程池2.3.2.参数处理2.3.3.任务触发2.3.4.分片广播策略(补充) 3.执行器流程3.1.任…

分布式任务调度

一、概述 1、定义 业务场景 - 某电商系统需要在每天上午10点,下午3点,晚上8点发放一批优惠券。 - 某银行系统需要在信用卡到期还款日的前三天进行短信提醒。 - 某财务系统需要在每天凌晨0:10结算前一天的财务数据,统计汇总。 - 12306会根据…

【操作系统篇】第五篇——调度(概念,层次,调度时机,切换与过程,方式,评价指标)

​基本概念 ​三个层次 ​高级调度(作业调度) ​中级调度(内存调度) ​低级调度(进程调度) ​三层调度的联系,对比 ​补充知识 ​进程的"挂起态"与七状态模型 ​时机 ​什么时候需要进程调度 ​什么时候不能进行进程调度 ​切换与过程 ​&qu…

操作系统(五)调度

文章目录 一、调度的概念,层次1.1 调度的概念1.2 调度的三个层次1.2.1 高级调度(作业调度)1.2.2 中级调度(内存调度)1.2.3 低级调度(进程调度) 1.3 三层调度的对比1.4 总结 二、进程调度时机&am…

【操作系统】 2.2 调度概念以及调度算法

文章目录 1.调度的概念2.调度的三个层次3.七状态模型4.三层调度的联系和对比5. 进程调度的时机6.进程调度的方式7.进程的切换与过程8.调度算法的评价指标 调度算法先来先服务(FCFS)短作业优先(SJF)最短剩余时间优先(SR…

G1与ZGC

目录 前言JDK7和JDK8的GCG1RegionGC模式Young GCMixed GCFull GC ZGCRegionGC模式 一些感悟一些图文末彩蛋 前言 Java发展至今,最新版本是JDK16,最新的LTS长期支持版本是JDK11,今年9月即将推出JDK17,将是最新一代LTS。 但是&…

Java垃圾收集器之G1

在之前的文章中介绍了JVM的常见垃圾收集器,这边文章我想单独介绍一下G1垃圾收集器。G1 (Garbage-First)是一款面向服务器的垃圾收集器,主要针对配备多颗处理器及大容量内存的机器. 以极高概率满足GC停顿时间要求的同时,还具备高吞吐量性能特征。 G1收集器之内存模型…

【JVM】G1垃圾回收器

1.概述 G1(Garbage First)垃圾收集器是当今垃圾回收技术最前沿的成果之一。早在JDK7就已加入JVM的收集器大家庭中,成为HotSpot重点发展的垃圾回收技术。同优秀的CMS垃圾回收器一样,G1也是关注最小时延的垃圾回收器,也同样适合大尺寸堆内存的垃圾收集,官方也推荐使用G1来代…

jvm之G1 GC

写在前面 jdk9以及之后的版本已经将默认的垃圾收集器parallel更换为G1.本文就一起来看下。 1:G1介绍 parallel GC的设计目标是高吞吐量,CMS GC的设计目标是低延迟,而G1的设计目标不是这二者中的任何一个,其设计目标是让GC的STW…

G1 GC详解及设置

一、概述 G1 GC,全称Garbage-First Garbage Collector,在JDK1.7中引入了G1 GC,从JAVA 9开始,G1 GC是默认的GC算法。通过-XX:UseG1GC参数来启用。G1收集器是工作在堆内不同分区上的收集器,分区既可以是年轻代也可以是老…

java 并g1_JVM G1详解

java程序性能 当我们调优java程序时,通常的目标有两个: 响应能力 或者 吞吐量 响应能力 响应能力指一个程序或者系统对请求的是否能够及时响应。 比如: 一个桌面UI能多快的响应一个事件; 一个网站能够多快返回一个页面请求&#x…

垃圾回收之G1收集过程

G1 中提供了 Young GC、Mixed GC 两种垃圾回收模式,这两种垃圾回收模式,都是 Stop The World(STW) 的。 G1 没有 fullGC 概念,需要 fullGC 时,调用 serialOldGC 进行全堆扫描(包括 eden、survivor、o、perm&#xff0…

G1调优分析

目录 1、畅想GC的目标 2、jvm调优的目标 3、GC调优时机 4、垃圾收集器的选择 5、G1调优策略 6、G1垃圾收集实践 6.1、JVM自动选择垃圾收集器 6.2、G1垃圾收集 6.3、GC日志分析 7、小结 前言 c和java之间有一堵由内存动态分配和垃圾收集技术所围成的墙,墙外面的人想进…

JVM垃圾回收器G1详解

1、概述 在我们应用程序所应对的业务越来越庞大、复杂,用户越来越多,没有GC就不能保证应用程序正常进行,而经常造成STW的GC又跟不上实际的需求,我们需要不断地尝试对GC进行优化。G1(Garbage-First)垃圾回收…

G1垃圾回收器

1、最大堆大小 G1管理的最大堆大小为64G。每个Region的大小通过 -XX:G1HeapRegionSize 来设置,大小为 1~32MB ,默认最多可以有2048个Region,G1能管理的最大堆内存是 32MB*204864G 。 使用G1垃圾回收器最小堆内存应为 1MB*20482GB &#xff…

ZGC都出来了,你还不懂G1?

概念 G1(Garbage-First Collector)是一种垃圾回收算法,最早在JDK 6 Update 14中作为实验性功能加入,并在JDK 7 Update 4正式JDK,之后在JDK 9 中成为默认垃圾回收算法,在JDK 10中优化了Full GC性能。 G1是一…

G1详解

一 G1收集器 g1收集器是一个面向服务端的垃圾收集器适用于多核处理器、大内存容量的服务端系统。 它满足短时间gc停顿的同时达到一个较高的吞吐量。 JDK7以上版本适用 “ 先介绍两个概念:吞吐量和响应能力,响应能力和吞吐量是评价一个系统的两个重要指标…

G1垃圾回收器详解

文章目录 前言一、思考问题二、官方文档三、基本介绍四、G1的内存模型五、G1的标记过程六、G1的垃圾回收1、G1过程梳理2、Young GC3、Mixed GC4、Full GC 七、参数介绍八、分析各阶段触发时机根据GC日志分析Young GC的触发时机根据GC日志分析并发标记的触发时机根据GC日志分析M…

G1 GC

G1GC基本概念 G1 GC可以看做是CMS GC的重大升级改造G1 GC的全称是Garbage-First,意为垃圾优先,哪一块的垃圾最多就优先清理他。G1 GC最主要的设计目标是:将STW停顿的时间和分布,变成可预期且可配置的。(默认200ms&…