在CPU的所有指令中,有一些指令是非常危险的,如果错用,会导致整个系统崩溃。比如:清内存、关机、重启、设置时钟等。

所以,CPU将指令分为高特权指令和低特权指令,对于那些危险的指令,只允许操作系统及其相关模块使用,普通的应用程序只能使用那些不会造成灾难的指令。当然,也不能阻止许多高级黑客会通过Ring3特权去试图调用Ring0指令,来干一些事情。

形象地说,高特权指令就是那些儿童不宜的东东,而低特权指令则是老少皆宜。如英特尔的CPU就将特权级别分为4个级别:

(RING0) 最高特权级,仅操作系统(内核/驱动)使用
(RING1) API调用(保留级别,高层与低层两者之间)
(RING2) API调用(保留级别,高层与低层两者之间)
(RING3) 最低特权级,所有的应用程序都可使用

在 Windows 系统中,只使用了RING0和RING3,RING0只给操作系统用,RING3则是全部普通应用都可以使用。
对于进行一些重要操作、低层级需向高层级(内核/驱动)执行系统调用,调用指令之后低层级即可使用高层级的相关指令。在使用完高层级指令后,会自动关闭高层级的调用进程(也就是特权层级之间进行切换)