结论:1.cr3里保存页目录表的基址的地址类型为物理地址,页目录表里的每一项也是页表的物理地址。

2.gdtr里保存的地址类型为线性地址。

原因:由于段表并不能保证页表存在或开启,所以它的机制,完全建立在无页表存在的情况。体现在gdtr上,就是gdtr的地址和gdt里的描述符里的地址类型一样,都为线性地址,当开启分页机制后有可能会和物理地址不同。而且,当想要更换段页式的时候,必须在现有地址转换情况下,构造段表和页表,但是当往gdtr里填段表基址是,却必须是在无段表转换的地址。页表和页目录表的基址是无段表和页表转换后的地址,也就是物理地址。

换句话说,就是换段表时,不依赖现有段表。换页表时,不依赖段表和页表。

比如下面这张图,好像是intel手册上的,但是根据我的实践,不知道是不是我的理解不对,我认为不仅cr3是物理地址,页目录表项和页表项都应该是物理地址。

题外话:最近,想实现一个简单的基于x86的操作系统内存管理功能,网上关于段页式内存管理介绍也挺多,但是,由于自己对计算机硬件不是很了解,所以,在算法之余,更多问题是硬件的细节问题。感觉如果硬件细节不清楚,总会遇到很多奇怪的问题,而且,很难排除,花了很多时间,心里也没底。所以也建议大家无论做什么,基础永远值得花更多时间。

关于gdtr和cr3地址类型的理解相关推荐

  1. 【Solidity】3.类型 - 深入理解Solidity

    索引 [Solidity]1.一个Solidity源文件的布局 [Solidity]2.合约的结构体 [Solidity]3.类型 [Solidity]4.单位和全局可变量 [Solidity]5.表 ...

  2. 几个与IP地址类型有关的术语

    以下内容摘自笔者编著的最新图书<网管员必读--网络基础>(第2版)一书:<?xml:namespace prefix = st1 ns = "urn:schemas-mic ...

  3. uboot加载linux内核加载那些内容,uBoot和Linux内核中涉及到的几个地址参数的理解...

    uBoot和Linux内核中涉及到的几个地址参数的理解 ************************************************* arch/arm/Makefile //内核 ...

  4. 计算机网络-网络层 (IPV6,IPV4与IPV6对比,IPV6地址类型)

    文章目录 1. IPV6 IPV4与IPV6对比 IPV6地址表示形式 IPV6地址类型 1. IPV6 为了解决IPV4地址不够用的问题,这里就引出的IPV6,IPV6根本上解决了IP地址不够用的问 ...

  5. [转]关于内存地址的个人理解和操作原理

    [转]关于内存地址的个人理解和操作原理 发表于:2007年3月22日 15时55分13秒阅读(0)评论(0) 本文链接:http://user.qzone.qq.com/185591848/blog/ ...

  6. 【翻译】【linux设备驱动】linux地址类型

    [翻译][linux设备驱动]linux地址类型 Linux中使用的地址类型列表: 用户虚拟地址(User virtual addresses) 用户空间程序可见的普通地址.用户虚拟地址的长度为32位 ...

  7. 【计算机网络】网络层 : IPv6 协议 ( IPv6 数据包格式 | IPv6 地址表示 | IPv6 地址类型 | IPv4 与 IPv6 协议对比 | IPv4 -> IPv6 过渡策略 )

    文章目录 一.IPv6 发展 二.IPv6 数据报格式 三.IPv6 和 IPv4 对比 四.IPv6 地址表示 五.IPv6 地址 类型 六.IPv4 向 IPv6 过渡策略 一.IPv6 发展 I ...

  8. 蓝牙协议分析_BLE地址类型

    SYD8801是一款低功耗高性能蓝牙低功耗SOC,集成了高性能2.4GHz射频收发机.32位ARM Cortex-M0处理器.128kB Flash存储器.以及丰富的数字接口.SYD8801片上集成了 ...

  9. 蓝牙协议分析(6)_BLE地址类型(蜗窝科技)

    1. 前言 也许关注BLE的同学都注意到了,BLE设备有多种类型的设备地址,如Public Device Address.Random Device Address.Static Device Add ...

最新文章

  1. 智源杯天文数据算法挑战赛开赛,前沿AI技术助力天文科学研究
  2. (项目)在线教育平台(六)
  3. 一对一直播社交聊天程序: JAVA中的Socket源码概述
  4. 【seata系列】centos服务器带你踩坑搭建seata以及解决MySQL8.0无法启动问题
  5. python 等值面 插值_利用numpy/scipy从三维阵列计算等值面
  6. 鸟哥的 Linux 私房菜学习笔记
  7. cocos2dx lua加密 和 解密
  8. 详解数据模型:概念模型、逻辑模型、物理模型
  9. Boost电路的驱动电路
  10. 【云原生Kubernetes系列第二篇】Kubernetes(k8s)核心组件(对的人兜兜转转最后还是会遇见)
  11. Skipped ‘XXX.txt‘ -- Node remains in conflict 问题解决
  12. 关于李沐深度学习softmax学习中代码出错的问题及解决方法
  13. 进程创建的优化设计(上)
  14. emby ios 收费_点播、直播一条龙,使用Jellyfin打造最强媒体中心(篇一)
  15. 重大调整!高速限速标准将不再是120km/h
  16. C语言:va_list的用法
  17. 地理坐标系、大地坐标系与地图投影与重投影详解
  18. linux mount u盘 exfat,CentOS 挂载 exfat 和 FAT32格式的U盘
  19. opencv学习笔记——图像
  20. 百汇BCR:通过K线可以判断出外汇市场有哪些形态?

热门文章

  1. 2021年云南招考频道高考成绩查询系统入口,云南省招考频道高考成绩查询入口 2021云南省招考频道成绩查询系统...
  2. 快捷键将光标移动到行尾
  3. LabVIEW与汇川H5U PLC通信 官方协议,报文读取,安全稳定
  4. vue项目开发 实现自定义Transfer穿梭框效果(结合el-tree)
  5. 电池电量低请启动车辆_2015年发现神行提示“电量低,请启动发动机
  6. ts_calibrate
  7. IT龙门阵,老榕讲电子商务
  8. idea好用插件收集,总有一款适合你
  9. [转载]android 休眠
  10. 融合人体姿态估计和目标检测的学生课堂行为识别