当使用进程阻塞原语阻塞进程时,下列哪一个选项描述的顺序是合理的
中断 CPU 执行,保存现场信息,修改 PCB 中进程状态为阻塞,将其插入到阻塞队列
中断 CPU 执行,将寄存器值推入堆栈,修改PCB中进程状态为
保存现场信息,讲寄存器推入堆栈,讲PCB插入到阻塞队列,恢复现场信息
中断 CPU 执行,保存现场信息,将PCB插入到阻塞队列,弹出新进程堆栈
答案
中断 CPU 执行,保存现场信息,修改 PCB 中进程状态为阻塞,将其插入到阻塞队列
解析
当使用进程阻塞原语阻塞进程时,合理的顺序应该是:
中断 CPU 执行,保存现场信息,修改 PCB 中进程状态为阻塞,将其插入到阻塞队列。
这是因为,当进程被阻塞时,它需要先中断当前的 CPU 执行,然后保存当前的执行状态(即现场信息),这样以后才能恢复这个进程。接着,操作系统会修改进程控制块(PCB)中的进程状态为阻塞,并将 PCB 插入到阻塞队列中,以等待某个事件或资源。
在选项中,第一个选项描述了这个流程:
中断 CPU 执行,这是为了使得操作系统可以接管控制。
保存现场信息,这是为了保留进程执行的状态,以便将来可以恢复它。
修改 PCB 中进程状态为阻塞,这是为了记录进程的新状态。
将其插入到阻塞队列,这是为了让被阻塞的进程等待所需资源或事件。
因此,正确答案是第一个选项:中断 CPU 执行,保存现场信息,修改 PCB 中进程状态为阻塞,将其插入到阻塞队列。