首页 > 其他分享 >全局描述符表GDT

全局描述符表GDT

时间:2022-12-29 12:56:06浏览次数:41  
标签:GDT 描述符 添加 内存 寄存器 全局 属性

段描述符:

为了安全性,为内存段添加一些额外安全属性。

添加内存段类型属性来阻止用户程序破坏存储代码的内存区域。

添加特权级属性区分用户程序与操作系统。

为了限制程序访问内存的范围,对段大小进行约束,添加了段界限属性。

全局描述符表:

全局描述符表相当于是描述符的数组,数组中的每个元素都是8字节的描述符。全局描述符表位于内存中,需要用专门的GDTR寄存器来指向后才能被CPU使用,对此寄存器的访问用lgdt指令,指令格式为lgdt 48位内存数据。保护模式下,段寄存器存储的是选择子selector,选择子16位,低2位存储请求特权级,可以表示0.1.2.3四种特权级;第二位是TI位,用来指示选择子在全局描述符表还是局部描述符表中;高13位就是描述符的索引值,相当于全局描述符表中的下标。

标签:GDT,描述符,添加,内存,寄存器,全局,属性
From: https://www.cnblogs.com/LCAB/p/17012132.html

相关文章

  • 全局引入elementplus和icon
    import { createApp } from 'vue'import App from './App.vue'import router from './router'import store from './store'import ElementPlus from 'ele......
  • SpringBoot - 全局异常处理@RestControllerAdvice,@ControllerAdvice,@ExceptionHandler
    @RestControllerAdvice与@ControllerAdvice 作用:告诉框架这是一个异常处理类,@RestControllerAdvice返回的是响应体范围:类上 @ExceptionHandler 作用:发生特定类型的......
  • git 删除全局配置
    查看git全局配置gitconfig--global-l删除git全局配置gitconfig--global--edit......
  • 【问题记录】【SpringBoot】Filter中抛出的异常不会走RestControllerAdvice全局异常捕
    1 问题现象//如下是我定义的全局异常捕获@RestControllerAdvicepublicclassRestExceptionHandler{/***默认全局异常处理。*@paramethee......
  • VB中的全局对象—App、Screen、Error、Clipboard
    VB作为一门基于对象的编程语言,VB中的对象是无处不在的。我们一般说“类”就是某一类具有相同特征的事物,比如VB中的控件CommandButton等等。而某一个具体事例称为对象,比如,控......
  • Linux中文件及文件描述符
    对于Linux而言,所有对设备和文件的操作都是使用文件描述符来进行的。文件描述符是一个非负的整数,它是一个索引值,并指向在内核中每个进程打开文件的记录表。当打开一个现存文......
  • 不用描述符,不算懂 Python
    在日常的编码中,我们应该使用Python的描述符,来使代码更具有单一职责原则,也就是SRP(SingleResponsibilityPrinciple)原则,如果你还没有用过描述符,那快来看看怎么用吧,不然就......
  • memory描述符
    memory描述符告知gcc以下内容。不要将该段内嵌汇编指令与前面的指令重新排序。不要将变量缓存到寄存器。如果汇编指令修改了内存,但是gcc本身却察觉不到,因为在输出部分没......
  • Microsoft Azure 解决方案:如何提升Azure AD全局管理员的访问权限
    51CTO博客地址:​ ​​​​https://blog.51cto.com/14669127​​Azure培训视频地址:​ ​​​https://space.bilibili.com/2000820534​​我们都知道一些Azure虚拟桌面过......
  • Vite 设置 less 全局变量
    1、建立一个公共的less变量文件列如src/publicStyle/varLess.less//src/publicStyle/varLess.less@layout_header:50px;@layout_foot:48px;@minWidth:1366px;/......