我有点困惑,我从许多不同的网站上读到,但我不清楚:
每个段寄存器都有可见部分和不可见部分。可见部分被称为段选择器,并且有直接的指令来加载段选择器。 请求者特权级别(RPL):该字段标识特权级别,以提供对数据的受保护访问。
好的,我知道我可以在程序集中使用指令,例如,加载一个选择器,但是我不能修改RPL,对吗?它是从哪里来的?CPU是如何选择它的?谢谢
发布于 2012-10-30 22:20:12
RPL实际上是段选择器中最低的2位,所以您可以将任何特权级别加载到其中(0-3),但是如果请求的级别比相应段的DPL更高(数值较低),则会出现GP错误。如果这与内存映射的I/O或其他相关,则允许程序以比OS授予的权限更低的权限轻松地访问一个段。
https://stackoverflow.com/questions/13147942
复制相似问题