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

article/2025/9/1 8:29:32

​基本概念

​三个层次

​高级调度(作业调度)

​中级调度(内存调度)

​低级调度(进程调度) 

​三层调度的联系,对比

​补充知识

​进程的"挂起态"与七状态模型

​时机

​什么时候需要进程调度

​什么时候不能进行进程调度

​切换与过程

​"狭义的调度"

​方式

​非剥夺调度方式(非抢占式)

​剥夺调度方式(抢占式)

​调度器

闲逛进程

调度算法的评价指标

​CPU利用率

​系统吞吐量

​周转时间

​等待时间

​响应时间


基本概念

当有一堆任务要处理,但由于资源有限,这些事情无法同时处理。这就需要确定某种规则决定处理这些任务的顺序,这就是"调度"研究的问题。

 处理机调度是对处理机进行分配,就是从就绪队列中,按照一定的算法(公平,高效)选择一个进程并将处理机分配给它运行,以实现进程并发地执行。

处理机调度是多道程序操作系统的基础,它是操作系统设计的核心问题。

三个层次

高级调度(作业调度)

作业调度。又称高级调度,.其主要任务是按一定的原则从外存上处于后备状态的作业中挑选一个(或多个)作业,给它(们)分配内存、输入/输出设备等必要的资源,并建立相应的进程,以使它(们)获得竞争处理机的权利。简言之,就是内存与辅存之间的调度。对于每个作业只调入一次、调出一次。

作业:一个具体的任务

用户向系统提交一个作业=用户让操作系统启动一个程序(来处理一个具体的任务)

 由于内存空间有限,有时无法将用户提交的作业全部放入内存,这时候操作系统就要进行高级调度

高级调度(作业调度)。按照一定的原则从外存的作业后备队列中挑选一个作业调入内存,并创建进程。每个作业只调入一次,调出一次。作业调入时会建立PCB,调出时才撤销PCB。

 

中级调度(内存调度)

内存不够时,可将某些进程的数据调出外存。等内存空闲或者进程需要运行时再重新调入内存。
暂时调到外存等待的进程状态为 挂起状态 。被挂起的进程 PCB 会被组织成 挂起队列
中级调度(内存调度) —— 按照某种策略决定将哪个处于挂起状态的进程重新调入内存。
一个进程可能会被多次调出、调入内存,因此 中级调度 发生的 频率 要比高级调度 更高
 

低级调度(进程调度) 

进程调度。又称为低级调度,其主要任务是按照某种方法和策略从就绪队列中选取一个进程,将处理机分配给它。进程调度是操作系统中最基本的一种调度,在一般操作系统中都必须配置进程调度。进程调度的频率很高,一般几十毫秒一次。

三层调度的联系,对比

作业调度从外存的后备队列中选择一批作业进入内存,为它们建立进程,这些进程被送入就绪队列,进程调度从就绪队列中选出一个进程,并把其状态改为运行状态,把CPU分配给它。中级调度是为了提高内存的利用率,系统将那些暂时不能运行的进程挂起来,当内存空间宽松时,通过中级调度选择具备运行条件的进程,将其唤醒。

1.作业调度为进程活动做准备,进程调度使进程正常活动起来,中级调度将暂时不能运行的进程挂起,中级调度处于作业调度和进程调度之间。

2.作业调度次数少,中级调度次数略多,进程调度频率最高。

3. 进程调度是最基本的,不可或缺。

补充知识

进程的"挂起态"与七状态模型

暂时调到外存等待的进程状态为挂起状态(挂起态)

挂起态又可以进一步细分为就绪挂起,阻塞挂起两种状态

注意“挂起”和“阻塞”的区别,两种状态都是暂时不能获得CPU 的服务,但挂起态是将进程映像调到外存去了,而阻塞态下进程映像还在内存中。

时机

什么时候需要进程调度

进程调度(低级调度),就是按照某种算法从就绪队列中选择一个进程为其分配处理机。

1.当前运行的进程主动放弃处理机:进程正常终止;运行过程中发生异常而终止;进程主动请求阻塞

2.当前运行的进程被动放弃处理机:分给进程的时间片用完;有更紧急的事需要处理;有更高优先级的进程进入就绪队列

什么时候不能进行进程调度

1.处理中断的过程中。中断处理过程复杂,与硬件密切相关,很难做到在中断处理过程中进行进程切换。

2.进程在操作系统内核程序临界区中。

补充:

临界资源:一个时间段内只允许一个进程使用的资源。各进程需要互斥地访问临界资源。

临界区:访问临界资源的那段代码。

内核程序临界区 一般是用来访问 某种内核数据结构 的,比如进程的就绪队列(由各就绪进程的 PCB 组成)

3.在原子操作过程中(原语)。原子操作不可中断,要一气呵成(如之前讲过的修改PCB中进程状态标志,并把PCB放到相应队列)

切换与过程

"狭义的调度"

狭义的进程调度指的是从就绪队列中选中一个要运行的进程。(这个进程可以是刚刚被暂停执行的进程,也可能是另一个进程,后一种情况就需要进程切换)

进程切换是指一个进程让出处理机,由另一个进程占用处理机的过程。

广义的进程调度 包含了选择一个进程和进程切换两个步骤。
进程切换的过程主要完成了:
1. 对原来运行进程各种数据的保存
2. 对新的进程各种数据的恢复
(如:程序计数器、程序状态字、各种数据寄存器等处理机现场信息,这些信息一般保存在进程控制块)
注意: 进程切换是有代价的 ,因此如果 过于频繁的 进行进程 调度、切换 ,必然会使整个 系统的效率降低 , 使系统大部分时间都花在了进程切换上,而真正用于执行进程的时间减少。

方式

非剥夺调度方式(非抢占式)

非剥夺调度方式 ,又称 非抢占方式 。即,只允许进程主动放弃处理机。在运行过程中即便有更紧迫
的任务到达,当前进程依然会继续使用处理机,直到该进程终止或主动要求进入阻塞态。
实现简单,系统开销小但是无法及时处理紧急任务,适合于早期的批处理系统

剥夺调度方式(抢占式)

剥夺调度方式 ,又称 抢占方式 。当一个进程正在处理机上执行时,如果有一个更重要或更紧迫的进
程需要使用处理机,则立即暂停正在执行的进程,将处理机分配给更重要紧迫的那个进程。
可以优先处理更紧急的进程,也可实现让各进程按时间片轮流执行的功能(通过时钟中断)。适合于分时操作系统、实时操作系统

调度器

②、③由调度程序引起,调度程序决定:

让谁运行? —— 调度算法
运行多长时间? —— 时间片大小

调度时机——什么事件会触发“调度程序” ?

  • 创建新进程
  • 进程退出
  • 运行进程阻塞
  • I/O 中断 发生(可能唤醒某些阻塞进程)
  • 非抢占式调度策略,只有运行进程阻塞或退出才触发调度程序工作
  • 抢占式调度策略,每个 时钟中断或k个时钟中断会触发调度程序工作

 闲逛进程

 调度程序永远的备胎,没有其他就绪进程时,运行闲逛进程(idle

闲逛进程的特性:
  • 优先级最低
  • 可以是 0 地址指令,占一个完整的指令周期(指令周期末尾例行检查中断)
  • 能耗低

 调度算法的评价指标

CPU利用率

由于早期的CPU造价极其昂贵,因此人们会希望让CPU尽可能多地工作

CPU 利用率 :指 CPU “忙碌”的时间占总时间的比例。

Eg :某计算机只支持单道程序,某个作业刚开始需要在 CPU 上运行 5 秒, 再用打印机打印输出5 秒,之后再执行 5 秒,才能结束。在此过程中, CPU利用率、打印机利用率分别是多少?

系统吞吐量

对于计算机来说,希望能用尽可能少的时间处理完尽可能多的作业

系统吞吐量 :单位时间内完成作业的数量

Eg :某计算机系统处理完 10 道作业,共花费 100 秒,则系统吞吐量为?

 10/100 = 0.1 /

周转时间

对于计算机的用户来说,他很关心自己的作业从提交到完成花了多少时间。 周转时间 ,是指从 作业被提交给系统开始 ,到 作业完成为止 的这段时间间隔。 它包括四个部分:作业在外存后备队列上等待作业调度(高级调度)的时间、进程在就绪队列上等待进程调度(低级调度)的时间、进程在CPU 上执行的时间、进程等待 I/O 操作完成的时间。后三项在一个作业的整个处理过程中,可能发生多次。
(作业) 周转时间 = 作业完成时间 作业提交时间

 

等待时间

计算机的用户希望自己的作业尽可能少的等待处理机
等待时间 ,指进程 / 作业 处于等待处理机状态时间之和 ,等待时间越长,用户满意度越低。
对于 进程 来说,等待时间就是指进程建立后 等待被服务的时间之和 ,在等待 I/O 完成的期间其实进
程也是在被服务的,所以不计入等待时间。
对于 作业 来说,不仅要考虑 建立进程后的等待时间 还要加上作业在外存后备队列中等待的时间。
一个作业总共需要被 CPU 服务多久,被 I/O 设备服务多久一般是确定不变的,因此调度算法其实只会影响作业/ 进程的等待时间。当然,与前面指标类似,也有“ 平均等待时间 ”来评价整体性能。

响应时间

对于计算机用户来说,会希望自己的提交的请求(比如通过键盘输入了一个调试命令)尽早地开始被系统服务、回应。
响应时间 ,指从用户 提交请求 首次产生响应 所用的时间。

 

 


http://chatgpt.dhexx.cn/article/2Bt6unZv.shtml

相关文章

操作系统(五)调度

文章目录 一、调度的概念,层次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&…

G1垃圾回收器-----基本知识及原理解析

G1介绍(Garbage first) G1主要面向的是服务端的垃圾回收器。在G1之前,JVM的主要垃圾回收器采用的是物理分代的思想,将内存区域严格的划分成年轻代(young GC)和老年代(major GC)&…

可控硅BT136典型应用电路

1.双向可控硅SCR可根据负载功率大小选择97A6(约1A)、TLC336A(约3A)、BT136-500D(约6A)中的一个,选择原则是触发电流要小于25mA。 2.C4取值在0.1 ~ 0.47uF之间&#xff0c…

全能电子地图实时路况_全能SUV与城市SUV的区别在哪?日产奇骏对比本田皓影

在如今的市场中,越来越多的车企将重点放在SUV车型中,尤其今年大量家用SUV涌入市场,特别是紧凑级SUV将这片市场瓜分的“支离破碎”。即使车型越来越多,市场被瓜分的越来越小,但是在很多消费者心中,几个主流品…

音质卓越颜值在线,五款高人气头戴式HIFI音质蓝牙耳机排名

随着我们生活水平的逐渐提高,我们对科技产品的要求也就越来越高,就拿耳机来说,对于很多上班族或是年轻人耳机绝对是出门或是旅行的必备品之一,没有音乐的路途那绝对是缺少了灵魂,那自然耳机的地位也就越发的重要。无线,音效,小巧,这几个因素也就成为了我们选择耳机的最…