进程状态转换 动画
软考 · 操作系统 | 点下面的按钮,看进程令牌在三个状态间怎么走 | 两条 ❌ 的路点不进去
一句话定盘:就绪缺的是 CPU,阻塞缺的是 别的(等 I/O/资源)。
缺的东西不一样,所以 就绪 ↔ 阻塞 不能直接跳,中间必须经过运行。
进程现在停在「就绪」
就绪 = 万事俱备、只欠 CPU。点上面的按钮,走一条合法的转换试试。
三种状态
- 运行:正占着 CPU 在跑
- 就绪:啥都齐了,就差 CPU,在队列里等调度
- 阻塞:在等 I/O / 资源,给 CPU 也用不了
四条合法转换
- 就绪 → 运行:被调度选中
- 运行 → 就绪:时间片用完
- 运行 → 阻塞:主动请求 I/O
- 阻塞 → 就绪:I/O 完成(被动唤醒)
⚠️ 两条不存在(考点!)
- 就绪 → 阻塞:没上 CPU 就不会请求 I/O,不存在
- 阻塞 → 运行:必须先回就绪队列,不能直接上 CPU,不存在
保命口诀:运行 能往「就绪(时间片到)」和「阻塞(请求I/O)」走;就绪 只能往「运行」走;阻塞 只能往「就绪」走。
只进不出的方向记住:阻塞的人,永远没资格直接上 CPU。