Chinaunix
标题:
关于操作系统段的理解
[打印本页]
作者:
palm008
时间:
2014-04-23 09:25
标题:
关于操作系统段的理解
先看一下这段话:
段选择子包括三部分:描述符索引(index)、TI、请求特权级(RPL)。他的index(描述符索引)部分表示所需要的段的描述符在描述符表的位置,由这个位置再根据在GDTR中存储的描述符表基址就可以找到相应的描述符(如图三①步)。然后用描述符表中的段基址加上逻辑地址(SEL:OFFSET)的OFFSET就可以转换成线性地址(如图三②步),段选择子中的TI值只有一位0或1,
0代表选择子是在GDT选择,1代表选择子是在LDT选择
。
我的疑问是TI位是否必要,这个值似乎没有必要 因为根据GDTR中的描述表基址和描述表索引,读到的是GDT还是LDT是确定的,有没有TI位(区分GDT还是LDT) 都不能改变是GDT还是LDT这个事实。
作者:
kkddkkdd11
时间:
2014-04-23 10:03
) 好像还有LDTR的啊
作者:
palm008
时间:
2014-04-23 10:25
kkddkkdd11 发表于 2014-04-23 10:03
好像还有LDTR的啊
的确是有的,如果通过IDTR寻址,就没有必要使用GDTR,但又说IDT表是在GDT表中,这块很混乱,求高人指点
作者:
kkddkkdd11
时间:
2014-04-23 11:36
回复
3#
palm008
现在 都忘了
以前看过
http://item.jd.com/11335604.html
这书
好像讲的还不错 你可以搞个看看 :)
作者:
humjb_1983
时间:
2014-04-23 17:04
不指定GDT/LDT的话,寻址时不知道到哪个表中去索引吧?
作者:
stuman
时间:
2014-05-02 18:33
ti不设置时,在gdt中查找段描述符,如果被设置,则到LDT中查找描述符,此时还要用到ldtr寄存器,此寄存器保存指向gdt的描述符,相应描述符基址表示ldt表的地址。最后CS中存放的是设置了ti的局部选择符。
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2