一.CPL:当前特权级
用途:可根据CPL的值得知当前程序处于哪一环
cs/ss段寄存器段选择子的低两位是CPL (cs和ss的后两位永远一致)
1.如何查看程序处于几环
cs/ss后两位=0代表当前运行在0环
cs/ss后两位=3代表当前运行在3环
二.数据段权限检查
DPL是段描述符的权限属性,要想访问一个段描述符数据段,段选择子和CPU当前权限必须高于或等于DPL。要注意,权限数值越低,权限越高,比如我们常说的0环,就是权限最高的。
RPL:段选择子的权限
DPL:段描述符的权限
CPL:CPU当前的权限级别
综上所述,数据段权限检查遵循以下规则:
CPL <= DPL 并且 RPL <= DPL (数值上的比较)
只有满足上述条件,才能成功访问数据段。
总结:
CPL CPU当前的权限级别
DPL 如果你想访问我,你应该具备什么样的权限
RPL 用什么权限去访问一个段