1

我从许多不同的网站上阅读过,我有点困惑,但我不清楚:

每个段寄存器都有可见部分和不可见部分。可见部分称为段选择器,并且有直接指令来加载段选择器。

请求者特权级别(RPL):该字段标识特权级别以提供对数据的受保护访问。

好的,我知道我可以在汇编中使用指令,例如,加载选择器,但我不能修改 RPL 对吗?它从何而来?CPU是怎么选的?谢谢

4

1 回答 1

3

RPL实际上只是段选择器的最低2位,因此您可以将任何您想要的特权级别(0-3)加载到其中,但是如果请求的级别高于(在数字上低于)相应段的DPL,你会得到一个全科医生的错误。如果这与内存映射 I/O 或其他相关,这允许程序轻松访问比操作系统授予的权限更少的段。

于 2012-10-30T22:20:12.703 回答