《OrangeOs一个操作系统的实现》
一、为什么描述符的设计是这种设计(段基址、段界限不连续)呢?
使用两个域存放段基地址和段界限的原因与80286有关。在80286保护方式下,段基地址只有24位长,而段界限只有16位长。80286存储段描述符尽管也是8字节长,但实际只使用低6字节,高2字节必须置为0。80386存储段描述符这样的安排,可使得80286的存储段描述符的格式在80386下继续有效。
二、为什么选择子的定义如此矛盾呢?
在p32中,selectorvideo的定义是:
SelectorVideo equ LABEL_DESC_VIDEO - LABEL_GDT
从这里看,选择子(selector)明显就是一个偏移量。但是书中对选择子的定义提到:
他有一个专门的名称,叫做选择子,他也不是一个偏移,而是稍稍复杂一些,它的结构如图所是
两个数怎么减出了这种结构???