为什么CPU需要不同的特权等级?

如下图是一个经典的x86的特权等级示意图,x86有0~3共4级特权等级,但一般只有0级和3级常用。操作系统/内核工作于特权等级0,用户则工作于最低的特权等级3。
1. 特权等级是谁实现的?
当我们描述特权等级的时候,一定要区分的一个概念是:特权等级是CPU实现的,还是操作系统实现的?答案是CPU实现的。操作系统的不同模式是在CPU实现的基础上进行对应的。
2. 特权等级怎么实现的?
这里举一个RISC-V处理器的例子如下,RISC-V处理器定义了三种不同的特权等级,M,S,U三种,其中M是最高的等级,可以访问所有的资源。每一种特权等级都对应各自的一套控制寄存器(CSR),可以获取当前状态下处理器的工作状态。
3. 特权等级有什么用?
特权等级的最大作用就是保护。保护的对象可以是各种内存、IO等资源,其出发点就是对用户不放心!觉得用户写的代码会出各种bug,会破坏系统运行,因此控制用户的权限。而类

为什么CPU需要不同的特权等级?最先出现在Python成神之路

版权声明:
作者:倾城
链接:https://www.techfm.club/p/13501.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>