news 2026/4/16 4:28:54

【软考每日一练005】别被字面意思骗了!从“资源拥有”本质看透进程状态转换

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【软考每日一练005】别被字面意思骗了!从“资源拥有”本质看透进程状态转换

【软考每日一练005】别被字面意思骗了!从“资源拥有”本质看透进程状态转换

一、 经典原题与一个直觉误区

题目:当一个进程被一个更高优先级的进程抢占或其时间片用完时,其状态会从执行态转变为( )。

A. 阻塞态

B. 就绪态

C. 睡眠态

D. 挂起态

用户的疑问:“既然进程被‘抢占’了,它不就动不了了吗?动不了不就是被‘阻塞’了吗?为什么是就绪态?”

核心答案:操作系统划分状态的依据不是进程“能不能动”,而是进程到底“缺什么”


二、 本质逻辑:资源拥有矩阵

理解状态转换最快的方法,是看进程对处理机(CPU)和其他资源(I/O、锁、信号量)的占有情况。

进程状态是否拥有 CPU是否拥有其他运行资源状态本质(缺什么?)
运行态 (Running)什么都不缺,正在跑。
就绪态 (Ready)只缺 CPU。万事俱备,给我就能跑。
阻塞态 (Blocked)既缺 CPU,也缺资源/事件。给我 CPU 也跑不了。

为什么抢占是“就绪”而不是“阻塞”?

当高优先级进程抢走 CPU 时,原进程并没有丢失任何其他资源(它的内存数据、打开的文件、申请到的锁都在)。它此时的状态是:“我所有东西都准备好了,只是暂时没轮到我用 CPU。”按照矩阵,这完美符合就绪态的定义。


三、 五状态模型:生命周期的完整抽象

在基础状态上增加了“出生”和“死亡”,构成了现代操作系统的基本调度框架。

  1. 创建态 (New):正在分配 PCB 和初步资源。
  2. 就绪态 (Ready):资源已满,只待东风(CPU)。
  3. 运行态 (Running):正在 CPU 上纵横驰骋。
  4. 阻塞态 (Blocked):进程主动放弃 CPU,去等 I/O 或信号量。
  5. 终止态 (Terminated):功成身退,回收资源。

转换实例:

  • 运行 阻塞(主动):进程执行到read(file)。它发现文件还没读完,于是对系统说:“我先睡会儿,文件读好了叫我。”
  • 运行 就绪(被动):进程正跑得欢,系统闹钟响了(时间片到)或者被“大佬”(高优先级)踢下台。它很无奈:“我还能跑,但 CPU 不给我了,我去队列排队。”

四、 七状态模型:引入“内存资源”维度

当内存(RAM)这个资源也告急时,操作系统引入了**挂起(Suspend)机制。这时,我们需要在矩阵中引入“内存”**这一维度。

  • 挂起态的本质:进程的代码和数据被挪到了外存(磁盘交换区)
状态名称所在位置状态本质
就绪挂起 (Ready-Suspend)外存缺 CPU + 缺内存。一旦调回内存,立刻变就绪。
阻塞挂起 (Blocked-Suspend)外存缺 CPU + 缺内存 + 缺事件。最惨的状态,啥都缺。

五、 考点总结:如何一眼识破答案?

在考试或面试中,判断状态转换只需要问自己两个问题:

1. 是谁发起的动作?

  • 进程自己发起的(请求 I/O、等锁、调用 sleep) 必入阻塞态
  • 系统强加给进程的(时间片到、高优先级抢占) 必入就绪态

2. 进程还差什么?

  • 只差 CPU就绪。
  • 差 CPU 以外的任何东西阻塞。
  • 连内存都没了挂起。

结语:进程状态的命名虽然带点拟人色彩,但其背后是一套严谨的资源管理逻辑。记住:就绪是“万事俱备”,阻塞是“等待资源”,挂起是“被踢出内存”。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/12 16:34:03

【大数据毕设源码分享】基于springboot+数据可视化用户信用评估系统的设计与实现(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/4/14 7:18:57

YOLOv11 知识蒸馏完整实战:Teacher–Student 训练策略与性能飞跃

文章目录 YOLOv11知识蒸馏实战:让小模型拥有大模型90%精度,速度提升3倍的终极教程 一、知识蒸馏:让小模型“模仿”大模型的底层逻辑 二、原理拆解:双阶段蒸馏的“精准投喂” 三、核心代码实现:手把手改造YOLOv11 步骤1:定义蒸馏损失函数 步骤2:构建教师-学生模型架构 步…

作者头像 李华
网站建设 2026/4/16 19:22:23

SGMICRO圣邦微 SGM8933YN6G/TR SOT23-6 运算放大器

特性低失调电压:0.9mV(最大值)低输入电压噪声:30nV/√Hz低失真增益带宽积:1.5MHz 压摆率:0.8/μs轨到轨输出电源电压范围:1.8V 至 5.5V低电源电流:80μA/放大器(典型值&a…

作者头像 李华
网站建设 2026/4/16 2:54:48

积木报表:一键导出 Word,让报表办公更高效

引言 在日常办公中,报表导出是数据分析工作的重要环节。传统的报表导出方式往往需要复杂的操作步骤,或者导出格式不够美观,影响工作效率。现在,积木报表(JimuReport) 推出了全新的 Word 导出功能&#xff…

作者头像 李华
网站建设 2026/4/8 5:55:35

当科研绘图遇上“魔法画笔”:书匠策AI如何让数据“开口说话”

在学术江湖里,论文插图常被戏称为“科研门面”——一张精准又吸睛的图表,能让复杂的研究结论瞬间“破圈”。但传统绘图工具的“三大酷刑”却让无数研究者抓狂:Excel柱状图千篇一律、Python代码调试到凌晨、期刊格式要求堪比“密室逃脱”……直…

作者头像 李华