能够引起用户态和内核态转换的事件是______。
A.异常
B.系统调用
C.外围设备的中断
D.以上都是
参考答案:D
解析: 用户态与核心态的转换:系统调用。用户态进程通过系统调用申请使用操作系统提供的服务程序完成工作。异常:当CPU执行运行在用户态下的程序时,发生了某些事先不可知的异常,这时会触发由当前运行进程切换到处理此异常的内核相关程序中,也就转到了内核态。外围设备的中断:当外围设备完成用户请求的操作后,会向CPU发出相应的中断信号,这时CPU会暂停执行下一条即将要执行的指令转而去执行与中断信号对应的处理程序。如果先前执行的指令是用户态下的程序,那么这个转换的过程自然也就发生了由用户态到内核态的切换。