当前位置: 首页 > news >正文

进程与线程--CPU调度(1)--调度的概述

操作系统|处理机调度三层体系 + 七状态模型

前面我们讲透了进程的五状态转换、线程的实现与模型。但系统里同时存在几十上百个进程,CPU 算力有限,该先让谁运行、该把谁暂时搁置,就需要「处理机调度」来统一管理。

调度不是只有 “选进程跑 CPU” 这一步,而是分为高级、中级、低级三层完整体系,对应进程从硬盘到内存、再到 CPU 的全流程。


一、处理机调度基本概念

定义:操作系统按照特定算法,从候选的进程 / 作业中选择一个,将 CPU 处理机资源分配给它,核心目标是兼顾公平性、系统效率与资源利用率。

类比: 把整个计算机系统比作一家公司:

  • 外存(硬盘)= 外部简历人才池,人还没入职
  • 内存 = 公司办公区,有正式工位,员工在公司待命
  • CPU = 核心项目组,只有进入项目组才能真正干活执行

调度的本质,就是决定 “哪些人能入职、哪些人先居家待命、哪些人能进核心项目干活” 的整套规则。


二、调度的三个层次:从入职到分配项目

1. 高级调度(作业调度 )

定义

也叫作业调度,从外存的后备作业队列中挑选合适的作业,将其调入内存,并为其创建进程、分配初始资源。

1.调度对象:作业(外存中待运行的程序)

2.流向:外存 → 内存

3.核心作用:决定哪些作业有资格进入系统运行

类比

公司 HR 从外部简历池(外存)里筛选候选人,发 offer、办理入职手续,给员工分配工位(内存),让他成为公司正式员工(创建进程)。

核心特点
  1. 发生频率最低,几分钟、几小时甚至更久才执行一次;
  2. 一个作业只会被调入一次、调出一次,是程序进入系统的第一道门槛;
  3. 批处理系统中作用最突出,现代交互式系统(Windows、Linux 桌面)通常没有严格的高级调度。
真实例子

早期批处理系统中,用户提交的计算任务先全部存在磁带 / 硬盘里,操作员启动作业调度,选中的任务才会加载进内存运行。

2. 中级调度(内存调度 )

定义

也叫内存调度,为了缓解内存不足的压力、提升资源利用率,把内存中暂时不运行的进程调到外存 “挂起”;等内存有空余、进程具备运行条件时,再调回内存。

1.调度对象:进程

2.流向:外存 ↔ 内存(双向)

3.核心作用:在内存和外存之间做进程换入换出,也就是内存 “对换” 技术

类比

公司业务淡季、工位不够时,把暂时没项目的员工安排居家待命(挂起到外存),收回工位给更紧急的项目;等业务回暖、有空位了,再把员工召回公司上班(调回内存)。

核心特点
  1. 发生频率中等,根据内存占用情况动态执行;
  2. 可以多次换入换出,同一个进程可以被反复挂起、激活;
  3. 是虚拟内存、交换分区技术的底层逻辑之一。
真实例子

Windows 的虚拟内存、Linux 的 swap 交换分区,当物理内存不足时,系统会把长时间不活跃的进程数据换到硬盘上,腾出内存给前台程序,背后就是中级调度的思想。

3. 低级调度(进程调度 )

定义

也叫进程调度,从内存的就绪队列中挑选一个进程,将 CPU 资源分配给它,让它进入运行态执行指令。

1.调度对象:内存中的就绪进程

2.流向:内存 → CPU

3.核心作用:决定哪个进程能真正占用 CPU 执行,是操作系统最核心、最基础的调度

类比

部门主管从公司办公区待命的员工(就绪队列)里,挑选合适的人,分配到当前核心项目(CPU)上干活。

核心特点
  1. 发生频率最高,几毫秒就会执行一次,是操作系统最频繁的调度;
  2. 是所有多道程序系统的必备功能;
  3. 我们常说的时间片轮转、优先级调度、短作业优先等算法,都属于低级调度的具体算法。
真实例子

我们平时用电脑时,一边刷网页一边听歌一边挂微信,系统每隔几毫秒就切换一次进程,让多个程序 “同时运行”,这个切换决策就是低级调度完成的。


三、三层调度核心对比表

表格

调度层级别名调度对象数据流向发生频率核心作用
高级调度作业调度、长程调度作业外存 → 内存最低决定作业能否进入系统
中级调度内存调度、中程调度进程外存 ↔ 内存中等内存不足时换出进程,缓解内存压力
低级调度进程调度、短程调度就绪进程内存 → CPU最高决定哪个进程占用 CPU 运行

四、进程七状态模型:挂起态的引入

1. 为什么要新增挂起态?

我们之前学的进程五状态模型(创建、就绪、运行、阻塞、终止),默认所有进程都在内存里。但实际系统中内存空间有限,进程太多会导致内存不足、系统卡顿。

引入中级调度后,进程可以被调到外存暂时存放,这种 “进程在外存、暂时不参与调度” 的状态,就叫挂起态。根据挂起前的状态,又细分为「就绪挂起」和「阻塞挂起」,五状态模型就扩展成了七状态模型

2. 挂起态的两种细分

  1. 就绪挂起:进程在外存,只要调回内存就能立刻进入就绪态、等待 CPU
    • 类比:员工居家待命,随时能干活,只要召回公司就能上岗
  2. 阻塞挂起:进程在外存,同时还在等待某个事件,就算调回内存也还是阻塞态
    • 类比:员工在家一边待命一边等审批文件,就算回公司也得继续等文件

3.阻塞态与挂起态的区别

很多同学容易混淆这两个状态,核心区别只有一条:进程映像还在不在内存里

  1. 阻塞态:进程还在内存中,只是在等待 I/O、信号等事件;事件一到,立刻就能变回就绪态,参与 CPU 调度。
    • 类比:员工在公司工位上坐着,只是在等快递 / 审批,东西一到就能马上干活。
  2. 挂起态:进程已经被调出内存,数据放到外存里了;必须先经过 “激活” 调回内存,才能参与后续调度。
    • 类比:员工已经回家了,公司连工位都收回了,必须先召回公司、分配工位,才能安排工作。

4. 七状态的核心转换逻辑

  1. 就绪态 → 就绪挂起:内存不足时,把就绪队列里优先级低、长时间不运行的进程挂到外存,腾出内存空间
  2. 阻塞态 → 阻塞挂起:内存不足时,本来就在阻塞等待的进程反正也跑不了,干脆挂到外存,优先腾内存给能运行的进程
  3. 就绪挂起 → 就绪态(激活):内存有空闲时,把就绪挂起的进程调回内存,重新加入就绪队列
  4. 阻塞挂起 → 阻塞态(激活):内存有空闲时,把阻塞挂起的进程调回内存,继续等待事件
  5. 阻塞挂起 → 就绪挂起:进程等待的事件发生了,阻塞挂起就变成就绪挂起;等后续激活回内存后,直接就是就绪态
  6. 运行态 → 就绪挂起:特殊场景下,正在运行的进程也可能被直接挂起,腾出内存给更紧急的进程
  7. 创建态-->就绪挂起:创建进程之后,可能由于内存不足而进入就绪挂起状态

五、总结

  1. 处理机调度分为三层:高级调度管 “作业能不能进内存”,中级调度管 “进程在内外存之间换入换出”,低级调度管 “哪个进程能上 CPU 运行”,频率从低到高。
  2. 挂起态的本质是进程被调出内存、放到外存,分为就绪挂起和阻塞挂起;和阻塞态的核心区别是 “是否还在内存中”。
  3. 七状态模型是五状态的扩展,完美匹配三层调度的完整流程,是内存资源紧张场景下的必然设计。
http://www.rkmt.cn/news/1536374.html

相关文章:

  • 如何在macOS上快速创建虚拟PDF打印机:免费开源解决方案完全指南
  • Python 实测|这家免费企业数据 API 连反爬都没有,数据质量却意外能打
  • 重庆旅游职业学院多少分能上?5个问题一次说清 - 品牌2026
  • 东莞黄金k金铂金钻戒白银首饰回收今日价格 - 资讯快报
  • 2026厦门老牌靠谱黄金回收商家合集,各区线下变现门店完整盘点 - 开心测评
  • 2026年郑州企业获客新赛道|短视频+GEO+AI智能体完整解决方案对标分析 - 精选优质企业推荐官
  • AI标书软件技术原理解析:从招标文件解析到标书生成的全链路技术拆解 - 陈工0237
  • Python SSL与TLS安全连接实现细节
  • 亨得利官方辟谣避坑全指南:线上虚假广告实地核查 + 真伪辨别教程(推荐收藏备用) - 亨得利官方维修中心
  • 2026年营口鲅鱼圈区防身格斗培训真实测评与挑选标准 - 速递信息
  • 5分钟获取免费OpenAI API密钥的终极指南:零成本解锁AI开发能力
  • 柔性化生产怎么抓?2026年异形物料吸盘吸嘴供应商优选指南 - 品牌2026
  • EasyExcel-实战-大数据量导入导出与样式处理
  • 深圳光明区自建10000㎡+现代化实体仓储基地 - 资讯报道
  • 终极指南:3步免费让老款Mac升级到最新macOS系统
  • 2026年郑州企业短视频获客与AI搜索优化完整方案|从内容到转化的全链路服务商对标 - 精选优质企业推荐官
  • 2026年EPP内衬/包装/板材/片材制造企业推荐排行 - 速递信息
  • 2026新游通信服务口碑观察:技术团队与落地能力全面解读 - 速递信息
  • 花生十三公考课程|网课|视频
  • 2026年和平区口碑好的驾校,沈阳和平区考驾照避坑完整指南:东大旁十五年通运驾校,一对一接送零隐形消费,C1/C2/D 证一站式培训 - GrowthUME
  • 短视频无水印下载器
  • 显存不够别硬撑,FP8 量化让 70B 大模型在单卡 Instinct 上流畅运行
  • 终极直播互动革命:三步搭建你的战败惩罚游戏控制器
  • 2026 深圳名包回收榜单!靠谱渠道全盘点 - 讯息早知道
  • 2026 济宁防水补漏深度行业资讯:专业维修公司 TOP3 排名调研解析,漏水检测修复,卫生间免砸砖、屋顶、地下室、阳台飘窗漏水、瓷砖空鼓修补全方位测评 - 泛家庭维修
  • 2026宁波回收黄金门店推荐,专业门店无损检测高价回收 - 名奢变现站
  • Codestral代码生成实战:FIM与Chat双接口深度解析
  • 敏感肌宝宝超薄纸尿裤选购指南 3家品牌7项维度实拍解析 - 热点速览
  • 2026 广东深圳全域彩钢瓦翻新防水修缮 TOP4 权威推荐|厂房金属屋面除锈喷漆公司对比 + 完整避坑指南 - 本地便民网
  • 开发环境端口老打架?试试这3招,给你的本地项目分配专属端口(附避坑指南)