computer_knowledge_notes/Hardware/Intel/proctect.md

1.3 KiB
Raw Blame History

帮助

  • 可参考[语言->汇编->i386.md]里与保护模式相关的内容

保护模式下访问系统资源

之所以用描述符的形式来组织数据是有两个原因硬件细节、与16位286处理器兼容。

GDT

全局描述符表,通过GDTR寄存器来找到它。

GDT中放的是段描述符GDT的段描述符里记录了操作系统所使用的内存区域。GDT对所有进程可见。

GDT里所说的段是硬件定义的段它和操作系统所管理的段是不一样的。操作系统把硬件定义的数据段再分为数据段和栈段。

段描述符是8字节的结构体包含了许多内容但最重要的部分是描述基址的字段和描述内存限长的字段。

LDT

局部描述符表,通过LDTR寄存器来找到它。

LDT中放的是段描述符LDT的段描述符里记录了进程所使用的内存区域。一般一个进程对应一个LDT。

IDT

中断门描述符表,通过IDTR寄存器来找到它。通过中断门描述符表,那些为异常、硬件中断或软件中断服务的代码片断可以得以执行。

IDT中放的是中断门描述符即中断处理程序的入口。

门描述符也是8字节的结构体最重要的部分是当对应中断激活时要执行的代码的地址。