当前位置:  技术问答>linux和unix

保护模式编程

    来源: 互联网  发布时间:2017-02-14

    本文导语:  一致代码和非一致代码有什么不同,希望尽量用白话解释。还有就是特权级别,DPL RPL CPL 这些特权级别到底是个怎么样的关系,也尽量有白话,谢谢! | 简单解释: CPL是当前进程的权限级...

一致代码和非一致代码有什么不同,希望尽量用白话解释。还有就是特权级别,DPL RPL CPL 这些特权级别到底是个怎么样的关系,也尽量有白话,谢谢!

|
简单解释:
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、乡长

|
在存储段描述符中,属性区域的TYPE由位0-3组成。位3称为E位,E=1,表示此描述符用于描述代码段。位2称为C位,位C=1,表示对应的代码段是一致代码段;位C=0,表示对应的代码段不是一致代码段. 
所谓的“一致代码段”,目的是为了共享,比如该一致代码段的特权级是2,那么即使是特权级是3的代码,也可以访问该一致代码。也就是允许低权限的代码访问 高权限的代码,而成功访问之后,当前的特权级并不是目标代码的特权级,而是原来代码的特权级,也就是说,跳转之后,CPL不变。要注意的是,一致代码段的 DPL的定义,它定义的是允许访问改一致代码段的最高权限,也就是说,如果一个权限比一致代码段中DPL的权限还要高的话,是不允许访问该一致代码段的。
总结:一致代码段的DPL规定了成功访问它的最高权限,高于这个权限的代码不能成功访问它。成功访问一致代码段后,CPL并不会改变,还是保持为原来的权限。这样的设置主要是为了共享,比如一些函数库之类的,而不用受到权限的限制.
对于非一致代码段,要求CPL=DPL,RPL

    
 
 

您可能感兴趣的文章:

  • 请问学习x86保护模式编程有什么意义?
  • AT&T汇编 Linux保护模式编程问题
  • @@@@@@@ 提两个80386保护编程方面的问题,为提高本版的贴子量尽点力 @@@@@@@@@@@
  • IA32架构下,能从保护模式返回实模式吗?
  • 一般的linux嵌入式设备,系统工作在实模式还是保护模式下呢
  • 嵌入式linux在正常运行后也是用的保护模式吗?
  • 保护模式下的I/O
  • 已经由DOS实模式进入保护模式(可以在DOS访问32位指针),但具体不知怎样用?
  • 保护模式怎么进呢
  • 什么是保护模式和实模式
  • 保护模式杂问
  • linux操作系统的保护模式和分页机制,高手请进。
  • 请问关于保护模式下逻辑地址的一个问题
  • 显示器保护模式问题!!!!!!!!!
  • 保护模式小问
  • 保护模式的问题
  • 怎样在Bochs环境里模拟DOS保护模式?
  • [Oracle] Data Guard 之 三种保护模式介绍
  • 关于保护模式下打开地址线A20的问题
  • 再dos中有生成保护模式代码的c编译器吗?
  • 保护模式下怎么和硬件打交道 ?
  • boot程序切换到保护模式也不正确,导致了bochs虚拟机重新启动
  • 保护模式下写变量问题
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 哪位会使用代码保护工具WingGuard来保护java代码?
  • solaris 屏幕保护问题(Screen saver)!
  • 金山隐私保护器 PrivacyProtection
  • 关于SCO的屏幕保护的问题
  • 硬盘保护卡是什么道理? 它的工作原理是什么?
  • 屏幕保护程序 Kannasaver
  • 保护视力,用休息提醒软件 Workrave
  • 及其郁闷的事,请问个位硬盘保护卡怎么才能搞掉啊!
  • WEB前端 iis7站长之家
  • Linux屏幕保护 Really Slick Screensavers GLX Port
  • Linux下对写保护的u盘操作问题
  • 怎样用java作一个屏幕保护程序?请帮忙
  • SSH保护程序 sshguard
  • P2P保护工具 PeerGuardian2
  • 屏幕保护程序 Idle Screen Project
  • 请投票保护长城
  • 如何保护你的Java源码?
  • 菜鸟简单屏幕保护问题,请大家帮个忙!!!
  • 对一个int32的赋值需要加锁保护么?
  • 怎么解决linux下禁用屏幕保护程序和去掉节省电源的功能????


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3