我有点困惑,我从许多不同的网站上读到,但我不清楚:每个段寄存器都有一个可见部分和一个不可见部分。可见部分被称为段选择器,并且存在加载段选择器的直接指令。请求者权限级别(RPL):该字段标识提供对数据的受保护访问的特权级别。好的,我明白我可以使用汇编中的指令,例如,加载选择器,但我不能修改RPL,对吗?它是从哪里来的?CPU如何选择它?谢谢
hs1ihplo1#
RPL实际上只是段选择器的最低2位,所以你可以加载任何你想要的特权级别(0-3),但是如果请求的级别高于(数值上更低)相应段的DPL,你会得到GP错误。这允许程序以比操作系统授予的权限更少的权限轻松访问段,如果这与内存MapI/O或其他相关的话。
1条答案
按热度按时间hs1ihplo1#
RPL实际上只是段选择器的最低2位,所以你可以加载任何你想要的特权级别(0-3),但是如果请求的级别高于(数值上更低)相应段的DPL,你会得到GP错误。这允许程序以比操作系统授予的权限更少的权限轻松访问段,如果这与内存MapI/O或其他相关的话。