computer_knowledge_notes/Hardware/Intel/proctect.md

31 lines
1.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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