执行系统调用的过程涉及下列操作,其中由操作系统完成的是( )。
Ⅰ. 保存断点和程序状态字
Ⅱ. 保存通用寄存器的内容
Ⅲ. 执行系统调用服务程序
Ⅳ. 将CPU模式改为内核态
A. 仅Ⅰ、Ⅲ
B. 仅Ⅱ、Ⅲ
C. 仅Ⅱ、Ⅳ
D. 仅Ⅱ、Ⅲ、Ⅳ
在x86架构的处理器上,将CPU模...
用户登录可进行刷题及查看答案
在x86架构的处理器上,将CPU模式从用户态切换为内核态可以通过系统调用或陷阱来实现。以下是通常的步骤:
I错误。保存断点和程序状态字由中断隐指令完成。中断隐指令并不是指令系统中的一条真正的指令,它没有操作码,所以中断隐指令是一种不允许、也不可能为用户使用的特殊指令。
Ⅱ正确。保存通用寄存器的内容由中断服务程序完成。中断服务程序是由操作系统提供和管理的。
Ⅲ正确。当用户程序发起系统调用时,CPU会切换到内核态,进入操作系统指定的系统调用服务程序中。在系统调用服务程序中,操作系统会根据系统调用号和参数来执行相应的操作,并返回结果给用户程序。
IV错误。将CPU模式从用户态改为内核态由硬件完成,硬件会执行一系列操作,包括将栈指针切换到内核栈,修改指令指针以跳转到相应的内核代码,修改特权级别等,从而实现CPU模式从用户态到内核态的切换。
综上,仅Ⅱ、Ⅲ正确。
本题选B。
登录后提交答案
暂无评论,来抢沙发