🏷️ 知识点:进程状态
下列关于进程状态的说法中,正确的是( )。
A. I、II 和 III B. I、II 和 V C. I、II 和 IV D. I、II、III 和 V
[tag_link]
正确答案:B
关于进程状态转换的说法:I 正确,因为从运行态到阻塞态是进程在运行中主动等待事件(如 I/O 请求)而放弃 CPU 的行为,属于“自主”转换。 II 正确,因为从阻塞态到就绪态通常由协作进程触发的事件(如释放资源、发送信号)导致,尽管实际状态更改由操作系统执行,但转换动因可视为协作进程决定。 III 错误,I/O 操作结束会使进程从阻塞态变为就绪态,而非直接变为运行态,需经调度器选择。 IV 错误,时间片用尽的进程会从运行态转为就绪态,而非阻塞态。 V 正确,就绪态进程尚未获得 CPU,无法主动发起等待事件的操作,因此“就绪→阻塞”的转换不可能发生。 综上,正确的说法是 I、II 和 V。
下列选项中,可能将进程唤醒的事件是( )。
Ⅰ.I/O 结束
Ⅱ.某进程退出临界区
Ⅲ.当前进程的时间片用完
A. 仅Ⅰ B. 仅Ⅲ C. 仅Ⅰ、Ⅱ D. Ⅰ、Ⅱ、Ⅲ
[tag_link]
正确答案:C
参考 进程状态转化 ,当被阻塞进程等待的某资源为可用时,进程将会被唤醒。I/O 结束后,等待该 I/O 结束而被阻塞的有关进程就会被唤醒,Ⅰ正确;某进程退出临界区后,之前因需要进入该临界区而被阻塞的有关进程就会被唤醒,Ⅱ正确,当前进程的时间片用完后进入就绪队列等待重新调度,优先级最高的进程将获得处理机资源从就绪态变成执行态,Ⅲ错误。
下列操作中,操作系统在创建新进程时,必须完成的是( )。
I. 申请空白的进程控制块
II. 初始化进程控制块
III. 设置进程状态为执行态
A. 仅 I B. 仅 I、II C. 仅 I、III D. 仅 II、III
[tag_link]
正确答案:B
操作系统感知进程的唯一方式是通过进程控制块 PCB,所以创建一个新进程时就是为其申请一个空白的进程控制块,并初始化一些必要的进程信息,如初始化进程标志信息、初始化处理机状态信息、设置进程优先级等。I、Ⅱ正确。创建一个进程时,一般会为其分配除 CPU 外的大多数资源,所以一般是将其设置为就绪态,让其等待调度程序的调度。
下列选项中,会导致进程从执行态变为就绪态的事件是( )。
A. 执行 P(wait) 操作 B. 申请内存失败 C. 启动 I/O 设备 D. 被高优先级进程抢占
[tag_link] 正确答案:D参考 状态转化 ,A、B 和 C 都 因为请求某一资源会进入阻塞态,而 D 只是被剥夺了处理机资源,进入就绪态,一 旦得到处理机即可运行。
一个进程的读磁盘操作完成后,操作系统针对该进程必做的是()。
A. 修改进程状态为就绪态
B. 降低进程优先级
C. 给进程分配用户内存空间
D. 增加进程时间片大小
[tag_link]
正确答案:A
本题考察 状态种类 ,进程申请读磁盘操作的时候,因为要等待 I/O 操作完成,会把自身阻塞,此时进程就变为了阻塞状态,当 I/O 操作完成后,进程得到了想要的资源,就会从阻塞态转换到就绪态(这是操作系统的行为)。而降低进程优先级、分配用户内存空间和增加进程的时间片大小都不一定会发生,选 A。
下列选项中,可能导致当前进程 P 阻塞的事件是( )。
Ⅰ.进程 P 申请临界资源
Ⅱ.进程 P 从磁盘读数据
Ⅲ.系统将 CPU 分配给高优先级的进程
A. 仅Ⅰ B. 仅Ⅱ C. 仅Ⅰ、Ⅱ D. Ⅰ、Ⅱ、Ⅲ
[tag_link]
正确答案:C
本题考察 进程的状态转化 ,进程等待某资源为可用(不包括处理机)或等待输入/输出完成均会进入阻塞状态,故 I、II 正确;III 中情况发生时,进程进入就绪状态,故 III 错误,答案选 C。
下列事件中,可能引起进程调度程序执行的是( )。
I. 中断处理结束
II. 进程阻塞
III. 进程执行结束
IV. 进程的时间片用完
A. 仅 I、III B. 仅 II、IV C. 仅 III、IV D. I、II、III、 IV
[tag_link]
正确答案:D
当进程 状态转化 时,需要由进程调度程序执行。 。在时间片调度算法中,中断处理结束后,系统检测当前进程的时间片是否用完,如果用完,则将其设为就绪态或让其结束运行,若就绪队列不空,则调度就绪队列的队首进程执行,I 可能。当前进程阻塞时,将其放入阻塞队列,若就绪队列不空,则调度新进程执行,Ⅱ 可能。进程执行结束会导致当前进程释放 CPU,并从就绪队列中选择一个进程获得 CPU,III 可能。进程时间片用完,会导致当前进程让出 CPU,同时选择就绪队列的队首进程获得 CPU,IV 可能。
下列出当前线程引起的事件或执行的操作中,可能导致该线程由执行态变为就绪态的是( )。
A. 键盘输入 B. 缺页异常 C. 主动出让 CPU D. 执行信号量的 wait() 操作
[tag_link]
正确答案:C
参考 状态转化 , B 缺页异常:当线程访问的页面不在内存中时,会触发缺页异常,处理缺页异常时, 线程可能需要等待操作系统将所需页面加载到内存中,这会导致线程由执行态变为阻塞态。C 主动让出 CPU:线程可以通过主动让出 CPU 的方式,将自身的执行权限交给其他就绪态的线 程。这会导致线程由执行态变为就绪态。D 执行信号量的 wait() 操作:在多线程编程中,信 号量通常用于线程间的同步和互斥。当一个线程执行信号量的 wait() 操作时,如果信号量的 计数值不满足条件,线程会进入阻塞状态,从执行态变为阻塞态。键盘输入(选项 A)通常不 会直接导致线程状态变化,它可能触发其他事件或操作,进而影响线程的状态。所以本题的正 确选项为 C 选项。
下列事件或操作中,可能导致进程P 由执行态变为阻塞态的是()。
I. 进程P 读文件
Ⅱ.进程P 的时间片用完
Ⅲ.进程P申请外设
IV. 进程P 执行信号量的wait( 操作
A. 仅I 、IV
B. 仅Ⅱ、Ⅲ
C. 仅Ⅲ、IV
D. 仅I 、Ⅲ 、IV
[tag_link]
正确答案:D
参考 状态转化 。进程 P 读文件时,进程从执行态进入阻塞态,等待磁盘 I/O 完成,I 正确。进程 P4 的时间片用完,导致进程从执行态进入就绪态,转入就绪队列等待下次被调度,Ⅱ错误。进 程 P 申请外设,若外设是独占设备且正在被其他进程使用,则进程 P 从执行态进入阻塞态, 等待系统分配外设,Ⅲ 正确。进程 P 执行信号量的 wait() 操作,如果信号量的值小于等于 0,则进程进入阻塞态,等待其他进程用 signal() 操作唤醒,V 正确。
若某单处理器多进程系统中有多个就绪态进程,则下列关于处理机调度的叙述中,错误的是( )。
A. 在进程结束时能进行处理机调度
B. 创建新进程后能进行处理机调度
C. 在进程处于临界区时不能进行处理机调度
D. 在系统调用完成并返回用户态时能进行处理机调度
[tag_link]
正确答案:C
选项 A、B、D 显然是可以进行 处理机调度 的情况。对于 C,当进程处于临界区时,说明进程正在占用处理机,只要不破坏临界资源的使用规侧,是不会影响处理机调度的。比如,通常访问的临界资源可能是慢速的外设(如打印机),如果在进程访问打印机时,不能进行处理机调度,那么系统的性能将是非常差的。