zoukankan      html  css  js  c++  java
  • 汇编学习笔记(19)

    基本总结

    1. 保护模式采用 [ 选择子 : 偏移地址] 的方式寻址,选择子包含 特权级 表选择表索引三部分,表选择只能是 GDT 和LDT 二选一

    2. 表中存储着 存储段的段地址 也存储着称之为门和系统结构的数据,通过这些数据可以二次寻址,二次寻址是CPU自动完成的

    3.  门 内存储着选择子偏移 ,所以门也是通过 [ 选择子 : 偏移地址] 二次寻址的,二次寻址仍然需要指向 表中的 存储段

    4. 存储段包括 数据段和代码段

    5. 代码段分两种 一致代码段 非一致代码段,他们的权限要求稍有区别

    6. 函数的调用可以直接指向 表中的代码也可以指向表中的各种门,然后通过各种门二次寻址

    7. 特权提升的调用都需要通过门来实现,而提升特权后的运行位置由门决定,所以用户代码没有权利随意决定高特权运行的代码

    各种调用途径和特权级的总结

    1. RPL只在主动调用阶段有用,比如通过 CALL JMP INT 的调用,之后通过门在调用实际代码的时候CPU会将门中RPL直接设为0,相当于RPL没有意义了

    2. 所有提权路径的最终目的地都是非一致代码

    3. 正向调用只能提权不能降权,返回调用只能降权不能提权

    4.书中说一致代码段只能向本层或内层调用,不能向外层调用。这里指的应该是CPL所在层级而非代码所在层级,也就说只要CPL层级确定了,高层级的一致代码也是可以调用低层级的,比如说 CPL=3 那么实际上 DPL=0的一致代码也可以调用 DPL=2的一致代码,但是应该不推荐吧。

    5. 不提权的情况下权限, 即CPL是不变的

      门要求 CPL < DPL, RPL< DPL

      一致代码段要求: CPL >= DPL

      非一致代码段: CPL = DPL

    那么,此时可以调用相对于CPL来说     外层的门     本层的非一致代码     本层或内层的一致代码

    其他总结

  • 相关阅读:
    前端几个常用简单的开发手册拿走不谢
    初中级前端开发工程师如何提升个人能力?
    初中级前端开发工程师如何提升个人能力?
    【程序人生】那些工作之外的技术挣钱方式
    Java EE (13) -- 常用的基础结构模式
    3、数据类型
    洛谷——P2299 Mzc和体委的争夺战
    codevs——T1214 线段覆盖
    洛谷——P1106 删数问题
    洛谷——P1031 均分纸牌
  • 原文地址:https://www.cnblogs.com/alwaysking/p/12346571.html
Copyright © 2011-2022 走看看