题目
下列事件或操作中,可能导致进程P由执行态变为阻塞态的是()。1.进程P读文件II.进程P的时间片[1]用完Ⅲ.进程P申请外设IV.进程P执行信号量[2]的wait( )操作A.仅1 IVB.仅Ⅱ,ⅢC.仅Ⅲ,ⅣD.仅1 III IV
下列事件或操作中,可能导致进程P由执行态变为阻塞态的是()。
1.进程P读文件II.进程P的时间片[1]用完
Ⅲ.进程P申请外设IV.进程P执行信号量[2]的wait( )操作
A.仅1 IV
B.仅Ⅱ,Ⅲ
C.仅Ⅲ,Ⅳ
D.仅1 III IV
题目解答
答案
进程P读文件: 读文件可能需要等待I/O操作完成,所以进程可能从执行态转为阻塞态。
进程P的时间片用完: 这会导致进程从执行态转为就绪态,不是阻塞态。
进程P申请外设: 如果外设不可用,进程可能被阻塞直到外设可用。
进程P执行信号量的wait()操作: 如果信号量值为0,进程会被阻塞。
因此,可能导致进程P从执行态转为阻塞态的操作是:1、3和4。
答案是:D.仅1 III IV。
解析
考查要点:进程状态转换的条件,重点区分阻塞态与就绪态的触发因素。
核心思路:
- 阻塞态由进程主动等待外部事件(如I/O完成、资源申请)引起,进程挂起直至条件满足。
- 就绪态由时间片用尽或调度切换引起,进程仍可继续执行,只是暂时无法占用CPU。
关键点:
- I/O操作(如读文件)会阻塞进程;
- 时间片用尽导致进程转为就绪态;
- 资源申请(如外设、信号量)若不满足会阻塞进程。
事件分析
-
进程P读文件
- 读文件属于I/O操作,需等待设备完成数据传输。
- 触发阻塞态:进程挂起,等待I/O完成中断。
-
进程P的时间片用完
- 时间片用尽时,操作系统调度其他进程。
- 触发就绪态:进程进入就绪队列,等待再次分配CPU。
-
进程P申请外设
- 若外设被占用或不可用,进程需等待资源释放。
- 触发阻塞态:进程挂起,直至外设可用。
-
进程P执行信号量的
wait()操作- 若信号量值为0(资源不可用),进程需等待信号量递增。
- 触发阻塞态:进程挂起,直至信号量变为正。
选项匹配
- 导致阻塞态:1(读文件)、III(申请外设)、IV(
wait()操作)。 - 排除项:II(时间片用尽转为就绪态)。