1.3 KiB
1.3 KiB
帮助
- 可参考[语言->汇编->i386.md]里与保护模式相关的内容
保护模式下访问系统资源
之所以用描述符的形式来组织数据,是有两个原因:硬件细节、与16位286处理器兼容。
GDT
全局描述符表,通过GDTR
寄存器来找到它。
GDT中放的是段描述符,GDT的段描述符里记录了操作系统所使用的内存区域。GDT对所有进程可见。
GDT里所说的段是硬件定义的段,它和操作系统所管理的段是不一样的。操作系统把硬件定义的数据段再分为数据段和栈段。
段描述符是8字节的结构体,包含了许多内容,但最重要的部分是描述基址的字段和描述内存限长的字段。
LDT
局部描述符表,通过LDTR
寄存器来找到它。
LDT中放的是段描述符,LDT的段描述符里记录了进程所使用的内存区域。一般一个进程对应一个LDT。
IDT
中断门描述符表,通过IDTR
寄存器来找到它。通过中断门描述符表,那些为异常、硬件中断或软件中断服务的代码片断可以得以执行。
IDT中放的是中断门描述符,即中断处理程序的入口。
门描述符也是8字节的结构体,最重要的部分是当对应中断激活时要执行的代码的地址。