32位机内存管理(下)

2023-11-14

既然这样,段描述符表放在那里呢?80386中引入了两个新的寄存器来管理描述符表。一个是48位的全局描述符表寄存器GDTR,一个是16位的局部描述符表寄存器LDTR。那么,为什么有两个描述符表寄存器呢?

GDTR指向的描述符表为全局描述符表GDT。它包含操作系统中所有任务都可用的段描述符,通常包含描述操作系统所使用的代码段、数据段、堆栈段的描述符及各任务的LDT段等,全局描述符表只有一个。

LDTR则指向局部描述符表LDT。80386处理器设计成每个任务都有一个独立的LDT。它包含有每个任务私有的代码段、数据段、堆栈段的描述符,也包含该任务所使用的一些门描述符。

不同任务的局部描述符表分别组成不同的内存段,描述这些内存段的描述符当做系统描述符放在全局描述符表中。和GDTR直接指向内存地址不同,LDTR和CS,DS等段选择器一样只存放索引,指向局部描述符表内存段对应的描述符在全局描述符表中的位置。随着任务的切换,只要改变LDTR的值,系统当前的局部描述符表LDT也随之切换,这样便于各任务之间数据的隔离,但GDT并不随着人物的切换而切换。

看到这里,可能会有一个问题,既然有全局描述符表和局部描述符表两个表,那么段选择器中的索引对应哪个表中的描述符呢?实际上16位的段选择器中只有高13位表示索引值,剩下的3个数据位中,第0,1位表示程序的当前优先级RPL,第二位TI用来表示在段描述符表的位置,TI=0在GDT中,TI=1在LDT中。

啥都不说了,一张图足以:


注:GDTR指向GDT表位置,LDTR本质上也指向LDT表位置,不过并不是直接给出LDT位置,而是借助GDT表间接给出位置。LDTR中的选择符指向GDT中的某项,而GDT表中存有LDT表的偏移值,这样再根据cs中的选择符在LDT中找到具体项。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

32位机内存管理(下) 的相关文章

  • TCP洪水攻击(SYN Flood)的诊断和处理

    1 SYN Flood介绍 前段时间网站被攻击多次 其中最猛烈的就是TCP洪水攻击 即SYN Flood SYN Flood是当前最流行的DoS 拒绝服务攻击 与DDoS 分布式拒绝服务攻击 的方式之一 这是一种利用TCP协议缺陷 发送大量
  • shell在while循环中使用ssh命令提前退出的问题

    我想编写一个xcall sh脚本 用于快速向集群中的所有节点执行相同的命令 集群的节点信息放在hosts文件中 root localhost cat hosts 10 4 7 81 root 10 4 7 82 root 10 4 7 83
  • linux下查看某服务端口对应的进程ID

    Linux下查看某端口号所对应的进程ID 使用lsof命令 格式为 lsof i 端口号 例如 lsof i 30000 root Web Service CAServer lsof i 30000 COMMAND PID USER FD
  • Linux操作系统之基础命令

    文章目录 一 初识LInux操作系统 Linux操作系统和Windows操作系统的区别 Linux 分为内核版本和发行版本 目录结构命令 二 常用命令 1 ls命令 查看路径下所存在的文件 2 cd命令 切换路径 3 clear 清屏命令
  • Linux操作系统之tcp并发编程

    一 tcp并发编程 运行结果 多线程运行代码 运行结果 二 发送缓冲区与接收缓冲区 运行结果 为什么会出现以上的现象呢 因为在服务端与客户端都存在发送缓冲区与接收缓冲区
  • 操作系统课程实践5_进程通信

    一 实验目的 1 初步了解Linux环境下进程创建和进程间通信的机制 2 掌握如何利用消息和共享内存进行通信的原理 3 利用POSIX API函数编写实例程序 4 实现父子进程间通过消息传递和共享内存方式进行通信 二 实验内容 编制两个程序
  • Linux磁盘挂载

    概念 挂载 所谓挂载就是利用一个目录当成进入点 将磁盘分区的数据放在该目录下 也就是说 进入该目录就可以读取该分区的意思 Linux系统最重要的是根目录 因此根目录一定需要挂载到某个分区 至于其他的目录则根据需要挂载到不同的分区 假设硬盘分
  • Centos7通过宝塔安装mysql

    文章目录 一 在桌面安装数据库 安装好可以修改端口号 二 开放3306端口号 打开远程访问权限 2 1开放3306端口号 2 1 为需要远程登录的用户赋予权限 三 查看密码 第一种方式控制面板查看 第二种方式修改密码 四 测试 五 修改连接
  • Linux操作系统之进程复制

    文章目录 一 逻辑地址与物理地址间的映射关系 1 什么是逻辑地址和物理地址 2 分页存储管理 二 进程复制 面试重点 1 进程复制 2 引入写时拷贝 面试重点 3 进程复制 fork 与缓冲区的结合 面试笔试重点 一 逻辑地址与物理地址间的
  • chroot的作用及详解

    什么是 chroot chroot 即 change root directory 更改 root 目录 在 linux 系统中 系统默认的目录结构都是以 即是以根 root 开始的 而在使用 chroot 之后 系统的目录结构将以指定的位
  • Linux操作系统之进程间通讯—共享内存与消息队列

    文章目录 一 共享内存 1 共享内存的原理 2 共享内存的实现 三 消息队列 1 消息队列原理 2 消息队列实现 一 共享内存 1 共享内存的原理 共享内存为多个进程之间共享和传递数据提供了一种有效的方式 共享内存是先在物理内存上申请一块空
  • 查看Linux下rpm文件安装到哪个路径

    命令 root localhost rpm qpl xxx rpm more
  • Linux-fork(),vfork()和clone的区别

    在linux系统中 fork vfork 和clone函数都可以创建一个进程 但是它们的区别是什么呢 本文就这三者做一个较深入的分析 1 fork fork 函数的作用是创建一个新进程 由fork创建的进程称为子进程 fork函数调用一次返
  • Linux 多线程 ( 多线程概念 )

    文章目录 Linux线程概念 什么是线程 二级页表 线程的优点 线程的缺点 线程异常 Linux线程概念 什么是线程 在一个程序里的一个执行路线叫做线程 thread 更准确的定义为 线程是一个进程内部的控制序列 一切进程至少有一个执行线程
  • centos切换到root登录

    具体操作方法 1 在centos系统桌面下通过快捷键 Ctrl Alt T 打开终端命令行模式 2 在centos终端命令行模式下输入以下命令切换到root用户登录 su root 切换到root用户 3 登录过程中如果怎么输入密码都出错
  • 多线程的同步与互斥——读者写者模型

    在读者写者模型中 同样有 一二三 一个交易场所 两种角色 三种关系 在读者写着模型中 读者与读者之间是共享的关系 因为并没有改变资源 所以不需要互斥 写者与写者之间是互斥的关系 读者与写者之间是同步与互斥的关系 那么如何实现这么复杂的关系呢
  • 32位机内存管理(下)

    既然这样 段描述符表放在那里呢 80386中引入了两个新的寄存器来管理描述符表 一个是48位的全局描述符表寄存器GDTR 一个是16位的局部描述符表寄存器LDTR 那么 为什么有两个描述符表寄存器呢 GDTR指向的描述符表为全局描述符表GD
  • Linux Shell程序设计(2)

    实验十一 Shell程序设计 2 一 实验要求 综合运用shell编程知识进行设计性编程 二 实验内容和实验步骤 1 实验内容 假设你作为某工厂生产管理员 需要负责统计各车间每天生产的产品数据 你的计算机安装了双硬盘 为了保证数据安全 你在
  • 什么是软连接,以及软连接在linux系统中的用法

    软连接是linux中一个常用命令 它的功能是为某一个文件在另外一个位置建立一个同步的链接 软连接类似与c语言中的指针 传递的是文件的地址 更形象一些 软连接类似于WINDOWS系统中的快捷方式 例如 在a文件夹下存在一个文件hello 如果
  • Linux项目实战C++轻量级Web服务器源码分析TinyWebServer

    目录 文章简介 一 先跑起来项目 二 再看项目结构 三 逐个击破 立下flag 文章简介 TinyWebServer是Linux下C 轻量级Web服务器 助力初学者快速实践网络编程 搭建属于自己的服务器 作为新手拿它练手入门再好不过的不二之

随机推荐

  • 「译」Web安全快速入门

    Web安全快速入门 几个Web开发人员必知的安全缩略语 原文 A quick introduction to web security 作者 Austin Tackaberry 发表时间 2018 8 15 译者 陈 昌茂 发表时间 201
  • python 调用JS 之 py_mini_racer 初体验

    前言 之前苦于 python 使用 execjs 调用JS里的函数时 没办法动态缓存JS里的环境 然后当时的思路是将动态变化的环境提取出来 然后在写进JS代码里进行持续调用 但是这样做实在是不够优雅 正文 就在昨天 群里的泰迪佬告诉了我这个
  • 机器学习实战—决策树算法

    文章目录 一 简介 二 决策树训练和可视化 2 1 决策树分类算法使用 2 2 决策树可视化 2 3 决策树预测流程 2 4 决策树估计类概率 三 CART剪枝训练算法 3 1 简介 3 2 Cart分类成本函数 四 基尼不纯度或熵 4 1
  • python中save 函数_超全Python图像处理讲解!花五天才整理的!

    文章目录1 1 打开图片和显示图片 1 2 创建一个简单的图像 1 4 图像旋转和格式转换 三 ImageChops模块 图像合成 四 ImageEnhance模块 色彩 亮度 Pillow模块讲解 一 Image模块 1 1 打开图片和显
  • ngnix配置集群负载均衡——upstream模块

    测试包下来让他以守护进程的方式运行 nohup java jar demo 1 jar nohup java jar demo 2 jar 阿里云盘 测试所需要的两个jar包 https www aliyundrive com s XMYx
  • 如何创建Silverlight 项目

    Silverlight Silverlight Tools 您可以使用已经掌握的技术和熟悉的工具创建基于 Silverlight 的应用程序 本主题介绍开发用于 Silverlight 3 的应用程序时可使用的各种工具 本主题包括下列各节
  • Markdown使用(MarkdownPad2 表格不显示处理)

    MarkdownPad2 表格不显示处理 1 添加表格的扩展 工具 选项 Markdown Markdown处理器 改为 Markdown 扩展 即可 2 在设置的过程中要注册markdownpad2 邮箱 Soar360 live com
  • MySQL之索引的使用

    SQL CREATE INDEX 语法 在表上创建一个简单的索引 允许使用重复的值 CREATE INDEX index name ON table name column name 如果您希望以降序索引某个列中的值 您可以在列名称之后添加
  • Spring之BeanFactory学习笔记

    类图 一 注解 The root interface for accessing a Spring bean container BeanFactory 是获取IOC容器的根接口 提供了IoC容器所应该遵循的最基本的服务契约 IoC容器实际
  • DC综合完整脚本以及操作实例

    脚本最终成品 synopsys dc setup与syn script tcl 前面的文件定义各种库以及各种搜索路径 后者定义综合的约束以及输出结果文件 启动dc dc会自动的加载第一个文件 其中定义了各种路径以及库 默认用的是TSMC90
  • Vmware vSphere 5.0实战教程之一 vSphere高级应用测试环境搭建

    转载至 http andygao blog 51cto com 323260 839909 我们知道 vSphere的 vMotion HA FT等高级应用 必须在多网卡 独立存储的环境中使用 前面的系列教程中 详细的讲解了如何添加VMKe
  • STL函数模板入门

    Unit01 模板起源 01 C 为静态类型语言 这种语言有很多的数据类型 基本类型 类类型 在效率和类型安全上是无可比拟的 但这种语言在很大程度上也给程序员编写通用代码带来瓶颈 使程序员不得不为每一种数据类型编写完全相同或近乎完全相同的代
  • git提交代码会报 vue-cli-service lint found some errors. Please fix them and try committing again

    转载 https blog csdn net j15533415886 article details 92003047 转载 https blog csdn net qq 42180156 article details 10248098
  • web-view 调用微信小程序的方法

    1 1api文件夹下新建api js 获取微信公众号配置授权 后端提供接口 initConfig url gt return API GET api getJsapiSignature url url 1 2 utils文件夹下新建一个js
  • 数据结构day3(2023.7.17)

    一 Xmind整理 二 课上练习 练习1 时间复杂度 时间复杂度 只保留最高阶 f n 3 n 3 n 2 100 n T n O 3 n 3 n 2 100 n O 3 n 3 O n 3 1 gt O 1 常数阶 int t a 1 a
  • 使用百度地图JavaScript实现驾车/公交/步行导航功能

    1 2 3 4 5
  • 【语义分割】12、Fully Attentional Network for Semantic Segmentation

    文章目录 一 背景和动机 二 方法 三 效果 出处 AAAI2022 一 背景和动机 语义分割中 non local NL 的方法起到了很好了捕捉 long range 信息的作用 大致可分为 Channel non local 和 Spa
  • 使用insert into和insert overwrite插入数据的区别【Hive or Odps】

    1 创建一个测试表insert test 标识创建表insert test 默认新增id列 并插入一条数据1 CREATE TABLE insert test AS SELECT 1 AS id 2 插入数据 使用insert into插入
  • 记录:查看ubuntu版本信息。

    cat proc version uname a lsb release a WSL Ubuntu 20 04运行结果 lsb release a 查看Release和Codename uname a 内核版本和操作系统32 64位 cat
  • 32位机内存管理(下)

    既然这样 段描述符表放在那里呢 80386中引入了两个新的寄存器来管理描述符表 一个是48位的全局描述符表寄存器GDTR 一个是16位的局部描述符表寄存器LDTR 那么 为什么有两个描述符表寄存器呢 GDTR指向的描述符表为全局描述符表GD