下列选项中,不可能在用户态发生的事件是( )。
A.系统调用 B.外部中断 C.进程切换 D.缺页
【答案】C
【解析】本题的关...
用户登录可进行刷题及查看答案
【解析】本题的关键是对“在用户态发生"(与上题的“执行”区分)的理解。对于A,系统调用是操作系统提供给用户程序的接口,系统调用发生在用户态,被调用程序在核心态下执行。对于B,外部中断是用户态到核心态的“门”,也发生在用户态,在核心态完成中断过程。对于C ,进程切换属于系统调用执行过程中的事件,只能发生在核心态;对于D ,缺页产生后,在用户态发生缺页中断,然后进入核心态执行缺页中断服务程序。
本题考察“在用户态发生”,而非“在用户态执行”。
A错误。系统调用是由用户态程序主动发起的请求,用于请求操作系统提供特权操作或资源访问权限。用户态程序可以通过系统调用接口向操作系统发起请求并执行相应的内核函数。
B错误。外部中断是由外部设备或事件触发的中断请求,可能发生在用户态。外部中断通常在内核态进行处理。
C正确。进程切换是操作系统调度器根据调度策略从一个运行的进程切换到另一个进程的操作。用户态程序是无法直接调用进程切换的,程序只能通过系统调用接口向操作系统发送某些请求,如fork、exec、yield等,然后由操作系统内核在内核态中处理这些请求,处理请求的过程中可能需要进行进程切换。进程切换涉及到修改和管理进程的上下文信息,包括保存和恢复寄存器状态、切换页表、更新进程控制块等操作。
D错误。缺页指的是程序访问的内存页不在物理内存中,需要通过页表映射和磁盘交换等机制从磁盘加载到内存中才能继续执行。当用户态程序访问一个缺页时,处理器会触发缺页异常,并由操作系统在内核态进行缺页处理。
本题选C。
登录后提交答案
暂无评论,来抢沙发