【正确答案】
D
【答案解析】[分析]
在CPU中运行的操作系统程序和用户程序对应的机器指令集是不同的。操作系统程序使用所有指令,但用户程序只能使用部分指令。从资源管理和程序控制执行的角度出发,将指令系统分为两大部分:特权指令和非特权指令。在程序执行的时候,根据执行程序对资源和机器指令的使用权限,把机器设置为两个状态:核心态和用户态。
也就是说,当系统处于核心态时,就可以使用所有指令、资源,并具备改变CPU状态的能力;而当CPU在用户态时,只能使用非特权指令。
如果CPU执行用户程序时(用户态)出现了中断,系统将自行转到中断处理程序,CPU就由用户态转到核心态;中断处理结束后,返回继续执行用户程序,此时CPU又由核心态转到用户态中。
CPU将指令分为特权指令和非特权指令,机器处于曰态(用户态)时,程序只能执行非特权指令,目态下运行的是用户程序,而用户程序不可对寄存器进行操作,因此只能在管态(系统态)由操作系统程序处理。