关于DPL,CPL与RPL的一个很精妙的解释
来源:互联网 发布:新手怎么样开淘宝店 编辑:程序博客网 时间:2024/06/05 17:32
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),最后你还是只能访问县长能访问的地方,你的伪装计划失败了。
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),最后你还是只能访问县长能访问的地方,你的伪装计划失败了。
阅读全文
0 0
- 关于DPL,CPL与RPL的一个很精妙的解释
- 关于DPL,CPL与RPL的一个很精妙的解释
- 一个操作系统的实现:关于CPL、RPL、DPL
- 一个操作系统的实现(3):关于CPL、RPL、DPL
- 一个操作系统的实现:关于CPL、RPL、DPL
- CPL、RPL、DPL的区别
- CPL、RPL、DPL的区别
- 关于CPL、RPL、DPL
- 简述RPL, DPL, CPL的区别与联系
- 详解 RPL、DPL、CPL 的关系
- DPL RPL CPL的区别和作用
- 关于段,CPL,DPL,RPL
- 我对保护模式下CPL,DPL,RPL 的理解
- 保护模式 对CPL,RPL,DPL的总结
- DPL,RPL,CPL 之间的联系和区别
- DPL,RPL,CPL 之间的联系和区别
- DPL,RPL,CPL 之间的联系和区别
- DPL,RPL,CPL 之间的联系和区别
- STL: vector容器成员函数resize的作用
- Idea配置Github
- DEFINE_PER_CPU(struct runqueue, runqueues)宏
- 第一条博客啊哈哈
- 轻松理解 struct pid
- 关于DPL,CPL与RPL的一个很精妙的解释
- Linux进程:Linux切换机制主流程
- 关于表格的jquery插件
- 《Linux内核情景分析》经典解说--进程
- 深度学习之数学基础(线性代数篇)
- 运行级切换和门
- CPL, 门DPL, 描述符DPL 的关系
- 中断,异常,系统调用,进程切换时的堆栈变化和寄存器保存
- 1040. 有几个PAT(25)