CPL和权限
来源:互联网 发布:ember.js 中文教程 编辑:程序博客网 时间:2024/06/05 04:16
将当前特权级CPL(存放在cs寄存器的低两位)
CS里是放的选择子,每个选择子的0和1位就是RPL。选择子放入到CS后,0和1位就是RPL,也即是当前进程的CPL。
如前所述,CPU的当前特权级(CPL)反映了进程是在用户态还是内核态,并由存放在cs寄存器中的段选择符的RPL字段指定。只要当前特权级被改变,一些段寄存器必须相应地更新(如ds和ss寄存器)。例如,当CPL=3时(用户态),ds寄存器必须含有用户数据段的段选择符,而当CPL=0时,ds寄存器必须含有内核数据段的段选择符。ss寄存器也一样,当CPL为3时,它必须指向一个用户数据段中的用户栈,而当CPL为0时,它必须指向内核数据段中的一个内核栈。当从用户态切换到内核态时,Linux总是确保ss寄存器装有内核数据段的段选择符。
总结下,CPL就是跟代码段绑定的,从一个代码段jmp到另外一个代码段时,CPL如果发生变化,则ds,ss等其它权限相关的部分的权限必须相应地跟着变化。
《深入理解Linux内核(第三版)》§2.3 Linux中的分段
- CPL和权限
- CPL制作和使用
- 关于操作系统权限DPL,RPL,CPL[比喻太经典了]
- X86(IA32)段权限标志位CPL DPL RPL详解
- X86(IA32)段权限标志位CPL DPL RPL详解
- DPL RPL CPL的区别和作用
- 有了CPL和DPL,为什么还要RPL
- DPL,RPL,CPL 之间的联系和区别
- DPL,RPL,CPL 之间的联系和区别
- DPL,RPL,CPL 之间的联系和区别
- DPL,RPL,CPL 之间的联系和区别
- 操作系统的特权级(1)----CPL、DPL和RPL
- 有了CPL和DPL,为什么还要有RPL
- 广告联盟的CPL和CPA到底有什么区别
- 【转】DPL,RPL,CPL 之间的联系和区别
- DPL,RPL,CPL 之间的联系和区别
- DPL,RPL,CPL 之间的联系和区别
- DPL,RPL,CPL 之间的联系和区别
- 浅谈关于SQL数据库中Group By的用法
- JAXB: how to marshall map into <key>value</key>
- form表单上传文件
- 实时操作系统基础概念总结——基于ucosii的使用
- Android的logcat命令详解
- CPL和权限
- 如何查看javacore和heapdump文件
- DLNA介绍
- 数组中第k小的数字
- 链接服务器,不同服务器数据库之间的数据操作
- Car Evaluation Dataset Test
- 【补丁】AIDE 2.1.5版破解补丁
- 书写C程序时应遵循的规则
- Android Camera Subsystem - startPreview