)
考点频率★★★★★几乎必考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/O3️⃣ 五态模型更完整的模型三态模型缺少对“进程被创建但尚未加载”和“进程已终止但尚未回收”这两个阶段的描述五态模型在此基础上补充了新建态和终止态让进程的生命周期描述更加完整。五态模型比三态模型多了两个状态常用于考察进程从生到死的完整过程。新增状态说明新建New进程正在被创建尚未加载到内存如fork()后、exec()之前操作系统还在为它分配资源、建立PCB。终止Terminated进程已结束执行调用了exit或收到终止信号但PCB尚未被回收僵尸状态等待父进程读取退出状态后由操作系统回收资源。五态模型的状态转换新建 ────→ 就绪 ────→ 运行 ────→ 终止 ↑↑ │ ↓ ││ │ 等待I/O ││ ↓ ││ 阻塞 │└─────────┘ │ 事件发生 └──────────┘新增转换新建 → 就绪操作系统完成进程创建将其放入就绪队列运行 → 终止进程执行完毕或发生致命错误阻塞 → 就绪等待的事件发生同三态就绪 → 运行被调度器选中同三态运行 → 就绪时间片完或被抢占同三态运行 → 阻塞请求I/O同三态4️⃣ 三态 vs 五态对比表对比项三态模型五态模型状态数3种5种缺少的状态无新建/终止包含完整生命周期适用场景简化理解、进程调度核心完整描述进程从创建到消亡考查重点四种转换关系新增状态的含义5️⃣ 常见考点与易错点进程状态转换由谁控制调度是操作系统内核完成的不是进程自己随意跳转。运行→阻塞一定是进程主动因为请求I/O等操作是进程自己发起的通过系统调用所以是进程主动行为。阻塞→就绪是被动行为由I/O中断或事件完成唤醒进程被操作系统移回就绪队列是被动的。新建态和终止态可能不在内存中新建时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篇点击头像 → 专栏《软考中级高频考点》订阅第一时间接收新内容#软考中级 #软件设计师 #进程状态 #三态模型 #五态模型 #操作系统