尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

【操作系统】进程状态转换(三态模型/五态模型)

【操作系统】进程状态转换(三态模型/五态模型)
📅 发布时间:2026/6/24 10:08:17

考点频率:★★★★★(几乎必考1-2题)
难度:⭐
建议:熟练画出三态模型转换图,掌握五态模型中新增状态的转换条件

1️⃣ 为什么进程需要状态?

进程在执行过程中,会因CPU调度、I/O请求、资源等待等原因,在不同状态之间切换。操作系统通过记录进程的状态,来决定下一步对其采取什么操作(比如分配CPU、等待资源等)。进程状态是操作系统进行进程调度和资源分配的重要依据。就好比工厂里的订单有“待处理”、“处理中”、“已发货”等状态,以便统筹安排。

2️⃣ 三态模型(最基本的模型)

三态模型将进程分为三种基本状态,它们是进程生命周期的核心。几乎所有操作系统教材都从这里开始讲起。

状态说明典型场景
就绪(Ready)进程已获得除CPU外的所有资源,等待CPU调度刚被创建、时间片用完被换下
运行(Running)进程正在CPU上执行指令被调度选中
阻塞(Blocked/Waiting)进程因等待某事件(如I/O完成)而暂停执行等待键盘输入、等待磁盘读写完成

三态转换图(文字描述)

┌─────────────────────┐ │ ↓ ┌─────┴─────┐ ┌─────┴─────┐ │ 就绪 │────────│ 运行 │ │ (Ready) │ 调度 │ (Running) │ └─────┬─────┘ └─────┬─────┘ │ │ │ 释放CPU │ 等待I/O │ (时间片完/抢占) │ (资源不足) │ ↓ │ ┌─────┴─────┐ └───────────────│ 阻塞 │ 事件发生 │ (Blocked) │ (I/O完成) └───────────┘

四种状态转换(重点记箭头)

转换方向触发条件说明
就绪 → 运行就绪 → 运行进程被调度程序选中由调度算法决定(如时间片轮转、优先级)
运行 → 就绪运行 → 就绪时间片用完 / 被高优先级进程抢占当前进程让出CPU,回到就绪队列末尾(或按优先级插入)
运行 → 阻塞运行 → 阻塞请求I/O / 等待事件(如wait、信号量)进程主动放弃CPU,去等待某种资源或事件
阻塞 → 就绪阻塞 → 就绪I/O完成 / 等待的事件发生进程获得了所需资源,回到就绪队列等待调度

⚠️不能直接转换的状态:

  • 阻塞 → 运行(阻塞的进程不能直接获得CPU,必须先转为就绪)
  • 就绪 → 阻塞(就绪进程没有占用CPU,无法主动请求I/O)

3️⃣ 五态模型(更完整的模型)

三态模型缺少对“进程被创建但尚未加载”和“进程已终止但尚未回收”这两个阶段的描述,五态模型在此基础上补充了新建态和终止态,让进程的生命周期描述更加完整。五态模型比三态模型多了两个状态,常用于考察进程从生到死的完整过程。

新增状态说明
新建(New)进程正在被创建,尚未加载到内存(如fork()后、exec()之前),操作系统还在为它分配资源、建立PCB。
终止(Terminated)进程已结束执行(调用了exit或收到终止信号),但PCB尚未被回收(僵尸状态),等待父进程读取退出状态后由操作系统回收资源。

五态模型的状态转换

新建 ────→ 就绪 ────→ 运行 ────→ 终止 ↑↑ │ ↓ ││ │ 等待I/O ││ ↓ ││ 阻塞 │└─────────┘ │ 事件发生 └──────────┘

新增转换:

  • 新建 → 就绪:操作系统完成进程创建,将其放入就绪队列
  • 运行 → 终止:进程执行完毕或发生致命错误
  • 阻塞 → 就绪:等待的事件发生(同三态)
  • 就绪 → 运行:被调度器选中(同三态)
  • 运行 → 就绪:时间片完或被抢占(同三态)
  • 运行 → 阻塞:请求I/O(同三态)

4️⃣ 三态 vs 五态对比表

对比项三态模型五态模型
状态数3种5种
缺少的状态无新建/终止包含完整生命周期
适用场景简化理解、进程调度核心完整描述进程从创建到消亡
考查重点四种转换关系新增状态的含义

5️⃣ 常见考点与易错点

  1. 进程状态转换由谁控制:调度是操作系统内核完成的,不是进程自己随意跳转。
  2. 运行→阻塞一定是进程主动:因为请求I/O等操作是进程自己发起的(通过系统调用),所以是进程主动行为。
  3. 阻塞→就绪是被动行为:由I/O中断或事件完成唤醒,进程被操作系统移回就绪队列,是被动的。
  4. 新建态和终止态可能不在内存中:新建时PCB在创建但进程映像可能尚未加载;终止时进程映像已被回收但PCB残留。

6️⃣ 经典例题

例题1:某进程从运行状态变为阻塞状态的原因可能是( )。

A. 时间片用完
B. 被更高优先级进程抢占
C. 请求I/O操作
D. 进程调度程序选中了该进程

解析:A和B会导致运行→就绪,D是就绪→运行,只有C(请求I/O)会导致运行→阻塞。选C。


例题2:在三态模型中,一个进程从阻塞状态变为就绪状态,通常是由( )触发的。

A. 调度程序
B. 该进程主动请求
C. 等待的事件发生(如I/O完成)
D. 时间片用完

解析:阻塞→就绪是被动转换,由等待的事件完成(如I/O中断)触发。选C。


例题3:下列进程状态转换中,不可能发生的是( )。

A. 就绪→运行
B. 运行→就绪
C. 阻塞→运行
D. 运行→阻塞

解析:阻塞→运行不可能,必须先经过阻塞→就绪,再就绪→运行。选C。


例题4(五态模型):五态模型中,进程处于“新建态”时,以下描述正确的是( )。

A. 进程正在CPU上执行
B. 进程正在等待I/O操作完成
C. 进程的PCB正在被创建,但尚未进入就绪队列
D. 进程已执行完毕,等待父进程回收

7️⃣ 记忆口诀

就绪等待CPU,运行指令正执行。
阻塞等待I/O完,三种状态要分清。
新建终止补两态,完整生命周期明。

状态转换速记:

  • 就绪→运行:被调度
  • 运行→就绪:时间到/被抢
  • 运行→阻塞:等I/O
  • 阻塞→就绪:I/O完

8️⃣ 小测验(评论区对答案)

某进程正在执行,此时发生了一个时钟中断,该进程的状态转换是( )。
A. 运行→就绪
B. 运行→阻塞
C. 就绪→运行
D. 阻塞→就绪

🔔本专栏日更2篇,点击头像 → 专栏《软考中级高频考点》订阅,第一时间接收新内容

#软考中级 #软件设计师 #进程状态 #三态模型 #五态模型 #操作系统

相关新闻

  • API Key怎么安全保存?环境变量、本地配置和团队权限管理清单
  • 【AISMM Level 1权威解码】:SITS 2026初始级企业必现的5大典型特征与避坑指南
  • 【每日一题】LeetCode 560. 和为 K 的子数组 TypeScript

最新新闻

  • MySQL 4.0.26 官方源码包:含完整编译脚本、命令行工具源码及 man 手册模板
  • SOUL.md:用纯Markdown为Hermes智能体注入人格
  • JarvisIR:基于VLM调度的自动驾驶图像复原系统
  • 2026年,这款二维码门禁一体机凭何赢得行业一致好评?
  • Claude Code与GitLab CI/CD集成:安全、合规与可审计的AI工程实践
  • 大模型API镜像站技术原理与选型指南

日新闻

  • 终极指南:如何用shadPS4在电脑上免费畅玩PS4游戏
  • 打造个性化Instagram Clone:主题定制与用户体验优化技巧
  • 未来展望:RoseTTAFold-All-Atom的发展路线图与社区支持资源汇总

周新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号