当一个进程从就绪态进入运行态,在执行原语操作申请到io设备后,该进程是进入阻塞态吗?
如果时那进程时怎么让自己进入阻塞态的?就比如在记录型信号量中 进行wait原语操作时,只有当前资源(value)<0的时候才会自我阻塞(使用block原语).
求解析一下。想了半天,搜了半天也没搜到
当一个进程从就绪态进入运行态,在执行原语操作申请到io设备后,该进程会因为等待I/O完成而进入阻塞态。此时,进程将不再消耗CPU时间且处于无法继续执行的状态。
进程可以通过系统调用发出 I/O 请求,以进入阻塞态等待相关的I/O操作完成。例如,可以使用read()函数请求从文件或其他I/O设备读取数据,当I/O操作完成时,将触发中断并唤醒进程。
不知道你这个问题是否已经解决, 如果还没有解决的话: