(上图其实有纰漏,IDRT与GDTR直接含有地址信息,但是TR和LDTR却只包含选择子信息,而选择子指向了GDT条目,GDT条目最终指明TSS和LDT的位置。TR和LDTR通过选择子间接指向TSS和LDT,并非如上图所示的那样直接指向TSS和LDT)
最近读了《x86汇编语言——从实模式到保护模式》一书的第二部分:保护模式。了解了关于保护模式的皮毛知识。画了一张图,帮助理解所谓“任务”。下图展示了一个运行中的任务,包括LDTR、TR、GDTR等寄存器,IDT、TSS、GDT、目录表、页表等数据结构,线性地址和物理地址之间的映射,以及这些寄存器和数据结构之间的关系。
草草一张图,顿感保护模式之复杂,又叹保护模式之简单。复杂就复杂在各种数据结构交织叠加,配合紧密,绝非这么一张图就能展示的明白。如果将这张图稍加细化,画出所有数据结构的细节与相互关系,那这张图估计会密密麻麻,没法看了。