gdt相关

执行LGDT指令把GDT表的基底位址载入进GDTR暂存器
从386系列开始出现了保护模式,这就为支持多任务,能够快速地进行任务切换和保护任务环境提供了硬气支持. 真是一伟大的发明呀.呵呵.在保护模式下提供对不同任务的保护和同一个任务不同段的保护.我想象我拥有一个很大的内存,而程序中的代码和数据是分段存储,因此每个段就应该有个段的起始地址和段界限.,每个段应该有自己的属性.这样计算机才能控制那些操作能访问那些段,那些不能访问.所以每个段就应该有段起始地址 段界限 段属性.每一个任务都是有许多不同的段构成的.有些任务有共同的数据段或者代码段,为了节约内存空间.就需要将共同的代码段或者数据段共享.使得多个任务都能访问共享数据..这就要求系统决定那些段是共享的,那些段是私有的.所以每个段就一个特权级数,i386给段分4个级别,0 1 2 3,最常用的是0级,他代表内核模式,3代表用户模式.1和2通常是不用的.

       因为可以同时运行多个任务,每个任务又有很多段,这样就给计算机对存取段的操作带来了麻烦,也不利后面的分页机制.因此用一个局部描述表(LDT)来描述一个任务,一个局部描述表,有许多段的描述符构成,所谓段的描述符:是一个占8个字节的空间,他用来一个存储段的起始地址,段界限和段属性。我门可以想象有个叫LDT这样表,他有许多描述符够成,每个描述符指向他对应的段。一个LDT可以构成一个段.每个系统还存在一个全局描述表(GDT),他是由共享段的描述符和许多指向局部描述表段的描述符构成的.(还有中断描述符,这里不做介绍)这样我门可以把内存中的所有段抽象出来,用几张表来表示.如图

       我们已经把内存中的段用一个表给抽象出来了,那怎么从表中找到我想要的段呢,这就要通过一个叫段选择子家伙来帮忙了,他长16位,底两位是用来表示特权级的,第3位是用来确定是从GDT,还是从LDT中找我们需要的段,我们用TI来表示这位,TI=0指示从全局描述表GDT中读取描述符;TI=1指示从局部描述表LDT中读取描述符.段选择子的高13位就是描述符索引了.所谓描述符索引是指描述符在描述符表中的序号.这样我门通过段选择子来查找我们想要的段.是不是跟我们找书有点相同呀。呵呵.

       学过汇编的人都知道,CPU中包含有许多段寄存器,而每个段寄存器后面都有一个高速缓冲器,但我们把段的选择子存入段寄存器时,系统自动将对应的段描述符存入高速缓冲器.

然后系统根据描述符的信息去访问对应的段.这和实模式下的编程不同,在实模式下,段寄存器装的是段的地址,而在保护模式下,段寄存器中装的是段的选择子.

 
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值