日期:2014-05-16  浏览次数:20661 次

求教一个 GDT 和 LDT 关系的问题
假如用a:b这个逻辑地址,

当T1=1时,LDTR就可以当成段选择符,先由GDTR找到GDT表,

然后加上LDTR的偏移值,找到LDT描述符,再由里面的基值加上a的偏移值(即LDT段基址+a段选择符),

最后找到LDT中的局部段描述符,加上b的偏移值来得到最终的线性地址呢?

=3=抱歉,有点绕,,但这就是我现在所能了解的,,,求救高人,,没积分了,,,

------解决方案--------------------
形象的比喻是这么的,GDT是内核的‘GDT’,LDT是进程的‘GDT’,但是LDT的入口在GDT登记,LLDT时,要是是LDT,那么先去GDT找到LDT(s)的索引,然后顺着索引,找到LDT实体,然后就加载啦....,你滴明白的干活?