这里主要看一下CPL,DPL,RPL。要知道它们存放在哪,CPL表示当前代码段的特权级,存放在CS中(cs中放的是段的选择子,后两位表示特权级的大小);DPL表示被访问段的特权级,放在被访问段的描述符中;RPL放在选择符的最低两位。 访问时,要求CPL和RPL中最大的一个要小于被访问段的DPL。(DPL,CPL,RPL的值越大,表示的特权级就越小)。
再说一下,一致代码段和非一致代码段的区别。操作系统内核代码是用户不能访问的,但也有一部分操作系统的代码希望用户能访问,这一部分便是一致代码段。其它的代码段便是非一致代码段。详细的可参考一致代码段和非一致代码段。