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