您的位置:首页 > 其它

关于DPL,CPL与RPL的一个很精妙的解释

2011-09-29 14:05 246 查看
1、 CPL是当前进程的权限级别(Current Privilege Level),是cs段中的

2、 RPL说明的是进程对段访问的请求权限(Request Privilege Level),意思是当前进程想要的请求权限。

3、 DPL存储在段描述符中,规定访问该段的权限级别(Descriptor Privilege Level).

下面打一个比方,中国官员分为6级国家主席1、总理2、省长3、市长4、县长5、乡长6。

假设我是当前进程。级别总理(CPL=2),我去聊城市(DPL=4)考察(呵呵),我用省长的级别(RPL=3 这样也能吓死他们



)去访问,可以吧,如果我用县长的级别,人家就不理咱了(你看看电视上的微服私访,呵呵),明白了吧!为什么采用RPL,是考虑到安全的问题,就好像你明明对一个文件用有写权限,为什么用只读打开它呢,还不是为了安全!

其实上述说法有误,其次它把为什么要把有RPL的目的说反了。实际情况是这样的:

本身你是个县长(CPL=3),你去一个省访问(DPL=1),按理说你就只能接受县长待遇,访问只能由县长访问的地方(DPL=3)。访问的时候需要领

一个许可证RPL,它决定你可以访问哪些地方。这个时候你想伪装成总理,于是申请了一个RPL=0许可证(实际表现为传递个操作系统一个RPL=0的段选

择符),但检查部门(操作系统内核)发现了你的伪装(通过使用ARPL指令),把你打回原形(让RPL=CPL=3),最后你还是只能访问县长能访问的地

方,你的伪装计划失败了。

               
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  descriptor 存储