x86架构下的系统段描述符格式

本文详细解析了x86架构下的系统段描述符,包括调用门、LDT(局部描述符表)和TSS(任务状态段)的描述符格式。调用门用于低特权级程序调用高特权级例程,其DPL字段定义了调用权限级别。LDT作为局部描述符表,与全局描述符表GDT相对应,每个任务可拥有自己的LDT。TSS则用于保存任务状态,在任务切换时发挥作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        如果还记得前面的GDT全局描述符表的话,那么一定不会忘记段描述符中有个s字段,若为0,则表示这个描述符是系统段,若为1,则是普通的段描述符;普通的段为ds,es,ss,cs等等,系统的段则有GDT,调用门,TSS,LDT等等。现在来看看几个系统段描述符格式;

        ---------------------------------------------------------------------------------调用门-------------------------------------------------------------------------------

        首先来看下调用门描述符格式(GDT在前面已经分析过了):

       

        依旧是上面为高32位,下面是低32位。因为调用门是用来给低特权级程序调用高特权级例程的桥梁,所以调用门描述符格式中只要提供该例程所在的段描述符,以及在该段内的偏移位置就可以了。

        所以低32位中16~31是高特权级例程所在的代码段选择子,也提供了32位的段内偏移量。

        P位依然是段存在位标识;

        DPL是表示调用门的特权级,和目标例程的特权级不一样。这里有个有趣的问题:调用者的特权级要高于调用门的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值