
一、进程的阻塞与唤醒
(一)引起进程阻塞和唤醒的事件
(1)请求资源失败:进程向系统请求资源时,由于系统已无足够的资源分配给它,此时进程因不能继续运行而转变为阻塞状态。如,请求打印机。
(2)等待某种操作完成:当进程启动某种操作后,如果该进程必须在该操作完成之后才能继续执行,则应该先将该进程阻塞起来,以待该操作完成。如,I/O操作。
(3)新数据尚未到达:对于相互合作的进程,如果一个进程需要先获得另一个进程提供的数据后才能对该数据进行处理,只要其所需数据尚未到达,进程便只有阻塞。
(4)等待新任务到达:在某些系统中,往往设置一些特定的系统进程,每当这些进程完成任务后便把自己阻塞起来,等待新任务的到来。如,在网络环境中的发送进程。
(二)进程阻塞过程
正在执行的进程,当发生上述某事件时,由于无法继续执行,于是进程便通过调用阻塞原语(block)把自己阻塞,将其状态变为阻塞态,并插入相关阻塞队列。
(三)进程唤醒过程
由有关进程调用唤醒原语(wakeup)将等待该事件的进程唤醒。首先把被阻塞的进程从等待该事件的阻塞队列中移出,将其PCB中的现行状态由阻塞改为就绪,然后再将该PCB插入到就绪队列中。block原语和wakeup原语是一对作用刚好相反的原语。在使用时,必须成对使用。
二、相关真题
(2018-27)下列选项中,可能导致当前进程P阻塞的事件是( )。
I.进程P申请临界资源
II.进程P从磁盘读数据
III.系统将CPU分配给高优先权的进程
A. 仅I B. 仅II C. 仅I、II D. I、II、III
三、参考答案
C.进程P申请临界资源和进程P从磁盘读数据可能导致当前进程P阻塞。考研实用工具推荐
1、2022考研院校专业匹配查询系统
2、近4年全国各在招院校专业复试分数线查询
3、历年调剂信息查询
4、历年各院校专业目录查询
5、历年各院校报录比查询
6、历年各院校参考书目录查询
免责声明:本站所提供的内容均来源于网友提供或网络搜集,由本站编辑整理,仅供个人研究、交流学习使用,不涉及商业盈利目的。如涉及版权问题,请联系本站管理员予以更改或删除。





