
三态模型

引起进程状态转换的具体原因
- 运行态 → 等待态:进程因请求资源或等待事件而阻塞,例如等待外设I/O完成、等待人工干预。
- 等待态 → 就绪态:进程所等待的资源或事件已满足/完成,具备运行条件,进入就绪队列。
- 运行态 → 就绪态:进程时间片用完,或被更高优先级进程抢占,让出CPU但仍可运行。
- 就绪态 → 运行态:进程调度程序从就绪队列中选择一个就绪进程,为其分配CPU并投入运行。
实战:软考真题
例题1

个人解析

方法一:排除法。由于是单处理机系统,因此不可能同时有两个进程在运行,所以先排除B;且下一步处于运行态的只能是P1(继续保持原样)或P2(处于就绪态且CPU空闲,则会被投入运行)。故第二空只能选C,此时由于P1是从运行态转为了就绪态,因此能确定此时P1一定是时间片到了,所以第一空选A
方法二:组合搭配(第一题的4个选项,分别搭配第二题的4个选项,一共16种组合)。发现合理的只有A、C组合。即:当P1时间片到了
- P1会转为就绪态
- 此时CPU空闲了,且就绪态只有P2,因此会将P2投入运行态
- P3、P4等待的资源仍然没得到,因此继续保持等待态
故本题选A、C
例题2

个人解析:

由于P1释放了扫描仪(但是P1的时间片没到,因此继续保持运行态):
- P1:继续保持运行态
- P2:由于是单处理机,CPU没空闲(因为P1还在运行),因此P2继续保持就绪态
- P3:等待打印机,没等到,因此继续保持等待态
- P4:等待扫描仪,等到了(因为P1释放了扫描仪),因此P4将转为就绪态
综上,进程P1、P2、P3、P4的状态分别是:运行、就绪、等待、就绪
故本题选B
官方解析:

例题3

个人解析:

以上就是本篇文章的全部内容,喜欢的话可以留个免费的关注呦~~~
网硕互联帮助中心






评论前必须登录!
注册