| 项目 | 值 |
|---|---|
| 五状态模型 | 创建态→就绪态→运行态→阻塞态→终止态 |
| 七状态模型 | 增加就绪挂起、阻塞挂起 |
| 调度触发 | 就绪→运行:进程调度(低级调度) |
| 主动行为 | 运行→阻塞(进程自己阻塞自己) |
五状态模型:
状态转换:
七状态模型(引入挂起):就绪挂起(在外存但已就绪)、阻塞挂起(在外存且等待事件)。
| 转换 | 原因 | 主动/被动 | 触发者 |
|---|---|---|---|
| 创建→就绪 | 初始化完成 | 被动 | OS |
| 就绪→运行 | 被调度选中 | 被动 | 调度程序 |
| 运行→就绪 | 时间片用完/被抢占 | 被动 | 时钟中断/OS |
| 运行→阻塞 | 请求资源/等待事件 | 主动 | 进程自身 |
| 阻塞→就绪 | 等待的事件发生 | 被动 | 其他进程/OS/硬件 |
| 考法 | 解题套路 |
|---|---|
| 状态转换方向 | 运行→阻塞是唯一由进程自己发起的转换 |
| 不存在的转换 | 阻塞→运行不可能(须先回就绪);就绪→阻塞不可能 |
| 挂起状态 | 挂起=换出到外存;就绪挂起、阻塞挂起 |
| 哪个行为主动 | 运行→阻塞是进程主动调用阻塞原语 |
↑ 以上为站内 HTML 相对链接(纯网页可浏览);本页右上「在 Obsidian 中打开」跳回源笔记。