博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
保护模式下GDTR,LDTR,全局描述符表,局部描述符表和选择器的关系
阅读量:5818 次
发布时间:2019-06-18

本文共 646 字,大约阅读时间需要 2 分钟。

 

这张图要注意:右边两个0-15,其中上面的是LDTR,  下面的是选择子.

                  图下第五个标线,是两个线交叉的,实际上第五个线是指向右边水平的那个线.

                   没有箭头的两组线分别表示GDT的区间,LDT的区间

                   3和3'之间的两个没有箭头的线,是表示分别表示区间的线.

                   3'找到LDT的基址.

                   右边的GDT LDT放大的表 是上下分隔下来的.

 

                    内存线性地址,是个逻辑地址,所有GDT LDT ,各个真实的段,都在这上面.

                    这一个一个在内存线性地址上的段,都对应了代码中的一个一个段.所以把代码分成一个段一个段来看就比较清楚了.

                    GDT,LDT里有若干个描述符,每个描述符64位,8个字节.所以在内存线性地址上也占有空间.

-------------------------------------------------------------------------------------------------

                   涉及到段选择子,都是由GDTR,LDTR,GDT,LDT,选择子,和偏移量共同来找到段的真实地址.

                    选择子TI为0 GDTR--GDT基址--选择子--->段基址+偏移量 得到段的真实地址

                    选择子TI为1 GDTR--GDT基址--LDTR--LDT基址--选择子--->段基址+偏移量 得到段真实地址

                                                            (LDT选择子) 这个是直接到LDT基址,上面那个GDT选择子是到具体段基址.

转载于:https://www.cnblogs.com/wanghj-dz/p/3976433.html

你可能感兴趣的文章
Php实现版本比较接口
查看>>
删除设备和驱动器中软件图标
查看>>
第四章 TCP粘包/拆包问题的解决之道---4.1---
查看>>
html语言
查看>>
从源码看集合ArrayList
查看>>
spring-boot支持websocket
查看>>
菜鸟笔记(一) - Java常见的乱码问题
查看>>
我理想中的前端工作流
查看>>
记一次Git异常操作:将多个repository合并到同一repository的同一分支
查看>>
CodeIgniter 3.0 新手捣鼓源码(一) base_url()
查看>>
Chrome 广告屏蔽功能不影响浏览器性能
查看>>
vSphere 6将于2月2日全球同步发表
查看>>
Android状态栏实现沉浸式模式
查看>>
让你的APP实现即时聊天功能
查看>>
iOS 绝对路径和相对路径
查看>>
使用Openfiler搭建ISCSI网络存储
查看>>
IntPtr 转 string
查看>>
学生名单
查看>>
(转) 多模态机器翻译
查看>>
【官方文档】Nginx负载均衡学习笔记(三) TCP和UDP负载平衡官方参考文档
查看>>