系统中有多个进程分别处于就绪状态、运行状态和阻塞状态,下列哪一个进程的状态变化必然引起另一个进程的状态发生变化
运行状态→阻塞状态
阻塞状态→就绪状态
阻塞状态→挂起状态
就绪状态→运行状态
答案
运行状态→阻塞状态
解析
当一个进程从运行状态变为阻塞状态时,意味着它因为等待某个事件(如I/O操作完成、信号量获取等)而无法继续执行。在这种情况下,操作系统通常会选择一个处于就绪状态的进程来占用CPU,即让另一个进程从就绪状态变为运行状态。因此,一个进程从运行状态变为阻塞状态必然会引起另一个进程的状态发生变化。
其他选项中的状态变化不一定会引起另一个进程的状态发生变化:
- 阻塞状态→就绪状态:当一个进程从阻塞状态变为就绪状态时,可能是因为它等待的事件已经发生,但这并不一定导致另一个进程的状态发生变化,除非此时操作系统决定调度该进程运行。
- 阻塞状态→挂起状态:挂起状态通常是指进程被暂时移出调度队列,这通常是由于某些外部原因,如用户请求或系统维护,并不直接影响其他进程的状态。
- 就绪状态→运行状态:当一个进程从就绪状态变为运行状态时,它是被操作系统选中占用CPU的,但这并不意味着有其他进程的状态发生了变化,只是当前运行的进程可能会被抢占或完成其时间片后转入就绪状态。
因此,正确答案是运行状态→阻塞状态。