简述RPL, DPL, CPL的区别与联系
基本概念
RPL: Requested Privilege Level, 请求特权级
DPL: Descriptor Privilege Level,描述符特权级
CPL: Current Privilege Level,当前特权级
RPL, CPL与DPL实现数据段保护
DPL存在于段描述符(Segment Descriptor)中,代表着要访问当前数据或者是代码段所需要的特权等级。
CPL是当前代码的特权级,RPL是你请求的特权级,简单的说,只有当max(RPL, CPL) <= DPL时,访问才能成功.
原文链接
生动的理解
CPL是当前进程的权限级别(Current Privilege Level),是当前正在执行的代码所在的段的特权级,存在于cs寄存器的低两位。
RPL说明的是进程对段访问的请求权限(Request Privilege Level),是对于段选择子而言的,每个段选择子有自己的RPL,它说明的是进程对段访问的请求权限,有点像函数参数。而且RPL对每个段来说不是固定的,两次访问同一段时的RPL可以不同。RPL可能会削弱CPL的作用,例如当前CPL=0的进程要访问一个数据段,它把段选择符中的RPL设为3,这样虽然它对该段仍然只有特权为3的访问权限。
DPL存储在段描述符中,规定访问该段的权限级别(Descriptor Privilege Level),每个段的DPL固定。
当进程访问一个段时,需要进程特权级检查,一般要求DPL >= max {CPL, RPL}
下面打一个比方,中国官员分为6级国家主席1、总理2、省长3、市长4、县长5、乡长6,假设我是当前进程,级别总理(CPL=2),我去聊城市(DPL=4)考察(呵呵),我用省长的级别(RPL=3 这样也能吓死他们:-))去访问,可以吧,如果我用县长的级别,人家就不理咱了(你看看电视上的微服私访,呵呵),明白了吧!为什么采用RPL,是考虑到安全的问题,就好像你明明对一个文件用有写权限,为什么用只读打开它呢,还不是为了安全!
这篇讲的特别好
简述RPL, DPL, CPL的区别与联系相关推荐
- 特权级——保护模式的特权级检查 DPL,RPL,CPL, 一致代码段,非一致代码段
特权级是保护模式下一个重要的概念,CPL,RPL和DPL是其中的核心概念,查阅资料无数,总结如下. 一.CPL.RPL.DPL简单解释 CPL是当前进程的权限级别(Current Privil ...
- 保护模式下的CPL,RPL,DPL与特权级检查(二)
X86汇编语言:从事模式到保护模式读书笔记 ----------特权级保护 PS:此文并没有多长,只不过末尾附上了完整源代码占了90%的篇幅 <这是链接--保护模式下的RPL(一)--–> ...
- CPL RPL DPL
从网上看到,感觉很精妙,就转贴在这里和大家一起分享. 1. CPL是当前进程的权限级别(Current Privilege Level),是cs段中的 2. RPL说明的是进程对段访问的请求权限(Re ...
- 微型直流减速电机简述:无刷电机与有刷电机区别分析
参考文献 [1] 刘爱民, 倪元相. 电机与拖动技术[M]. 第二版. 大连:大连理工大学出版社, 2017. [2] 王爱元. 控制电机及其应用[M]. 第一版. 上海:上海交通大学出版社, 201 ...
- 简述 Hibernate 和 JDBC 的区别、优缺点
1.hibernate是一个开源的.采用面向对象的思想实现ORM映射框架,它对jdbc进行了一层封装,对于数据库的连接.关闭.数据的持久化(增删改查).事务的管理都进行了封装,使得程序开发的时候可以用 ...
- Java习题3(1.封装的意义有哪些?2.final关键字的作用有哪些?3. 简述覆盖与重载的区别。4. 写一个冒泡排序算法。)
1.封装的意义有哪些? 答: 将对象成员保护起来,使用接口对外公开,安全性更高. 读取.修改对象属性更加方便,更具有灵活性. 增加.删除对象属性在对应类中进行操作即可,不影响其他类,可维护性好. 2. ...
- c语言 get post,简述GET和POST的区别
表面的区别 1. GET在浏览器回退时是无害的,而POST会再次提交请求. 2. GET产生的URL地址可以被Bookmark,而POST不可以. 3. GET请求会被浏览器主动cache,而POST ...
- 简述直方图和柱形图的区别_如何区分直方图与柱形图
你还在错误的定义数据指标的展现形式吗?下面讲一下直方图和柱形图的区别. 直方图------------------------------------------------------------- ...
- 简述sizeof和strlen的区别
sizeof和strlen的区别 属性不同: sizeof是运算符(关键字),strlen是函数 用法不同: sizeof可以使用类.结构体.共用体以及其他用户自定义的数据类型作为参数,然后计算相应的 ...
- DNS有哪两种域名解析方式?简述这两种方式区别和特点。
DNS的两种域名解析方式:分布域名解析:集中式域名解析 区别及特点: 1.分布域名解析 是指分在客户端上维护一个静态的文本文件,其中包含主机名和IP地址的映射.随着网络规模的扩大,分布式分辨率的有效性 ...
最新文章
- Unity安卓游戏开发:打造7款2D 3D游戏 Unity Android Game Development : Build 7 2D 3D Games
- C#从剪贴板中获取数据
- 监听对象中某一项的值_Vue中watch的详细用法
- 8 使用_【化学技能8】 酸式滴定管的使用
- Angular Component 实现类,先执行字段初始化,再调用构造函数
- 5单个编译总会编译全部_VS2019 v16.5 MSVC编译器后端更新汇总
- 递归多线程实现前缀和
- 【零基础学Java】—字符串的概述和特点(十五)
- Linux下搭建Haproxy负载均衡
- windows 10 markdown pad awesomium crashed
- IPIP.Net地址库格式分析
- java获取本周日_java获取本周 上周的所有日期
- 浅谈大数据时代web数据可视化探析
- linux识别riser卡,Riser卡和PCIe槽位
- dns劫持 tplink_解决路由器DNS劫持的两种方法
- 布尔盲注运用burp的操作
- VUE进行前后端交互
- linux中安装openoffice,及解决转pdf时中文乱码或者中文不显示问题【离线】
- P1264 复制书稿
- 手机如何剪辑音频,极简操作制作专属BGM和铃声