处理机为什么要区分核心态和用户态两种操作方式?什么情况下进行两种方式的转换?
1. 答案要点:
在CPU中运行的操作系统程序和用户程序对应的机器指令集是不同的。操作系统程序使用所有指令,但用户程序只能使用部分指令。从 资源 管理和程序控制执行的角度出发,将指令系统分为两大部分:特权指令和非特权指令。在程序执行时候,根据执行程序对资源和机器指令的使用权限,把机器设置为两个状态:核心态和用户态。
也就是说,当系统处于核心态时,就可以使用所有指令、资源,并具备改变CPU状态的能力;而当CPU在用户态时,只能使用非特权指令。
如果CPU执行用户程序时(用户态),出现了中断,系统将自行转到中断处理程序,CPU就由用户态转到核心态,中断处理结束后,返回继续执行用户程序,此时,CPU又由核心态转到用户态中。
评分标准: 第1问3分,第2问2分。