Intel 保护模式学习总结
来源:互联网 发布:算法时代 编辑:程序博客网 时间:2024/05/16 02:18
保护模式学习总结:
实模式与保护模式:实模式下16位寄存器需要用段:偏移才能达到1MB的寻址能力。保护模式下用了32位寄存器,还是用段:偏移来表示,达到4GB的寻址。保护模式下cs:ip指向的是一个数据结构的一个表项,即GDT。保护模式下提供了各种机制,如段页保护,IDT中断向量表。
GDT:全局段描述符
LDT: 局部段描述符。(用来提供段机制)
由实模式进入保护模式的步骤:
1 准备GDT 2加载GDT,LDT 3打开A20地址线 4置CR0的PE位 5跳转进入保护模式。
一致性代码段与非一致性代码段:一致性代码段不受访问保护(低到高,相同特权级间可以访问),一致性代码段受访问保护,只有相同特权级的程序才能访问。数据段是(总是非一致的)(高到底,相同特权级间可以访问)。
Intel提供的特权级保护机制:它将所有的任务分为4个特权级别,0,1,2,3。处理器通过CPL(当前执行的程序或任务的特权级),DPL(段或门的特权级,段有两位是用来表明该段的特权级的),RPL(请求特权级别,通过段选择子进行确定)进行特权级检查,确定访问是否允许。
不同特权级之间的转移:
Jmp,call转移能力是有限的。对于一致代码段最多由低到高,对于非一致代码段只能同特权级别间转换,而且CPL不会改变。
Intel准备了调用门机制(调用门,中断门,陷阱门,任务门)。通过调用门和CALL指令可以实现从低特权级别到高特权级别的转换无论目标代码段是不是一致的。最后可以通过准备返回环境(堆栈重要准备好目标代码段的cs,eip,及ss和esp,还可能有参数),调用ret,iret返回。
分页机制:页目录表PTE,页表PDE,CR3中存储是页目录表的地址。开启为置CR0的最高位PG位为0。
IDT:中描述符中断门描述符,陷阱门描述符,任务门描述符。中断门会初始化中断允许位IF。
中断机制:进入保护模式后初始化加载IDT,然后可以使用中断了。
- Intel 保护模式学习总结
- Intel 处理器-保护模式
- Intel 80386的保护模式
- Intel CPU的保护模式
- Intel CPU的保护模式
- 深入了解Intel保护模式
- [Intel汇编-NASM]进入保护模式全过程
- Intel CPU的保护模式简介
- [Intel汇编-NASM]进入保护模式全过程
- IA-32 Intel手册学习笔记(二)保护模式下的内存管理
- Intel Pin 学习总结
- Intel VMCS学习总结
- 80386保护模式总结
- 80386保护模式总结
- 进入保护模式总结
- Intel汇编 (一) 实模式和保护模式
- 保护模式的学习
- Intel CPU的保护模式和段式内存管理简介
- Ajax 改造,第 2 部分: 使用 jQuery、Ajax、工具提示和 lightbox 改进现有站点
- Ubuntu下vsftp的配置
- 尽量用编译器而不用预处理
- 尽量用new和delete而不用malloc和free malloc和free
- 代码生成之merge
- Intel 保护模式学习总结
- jQuery Ajax 全解析
- 关于使用jaxb做配置解析
- 函数模板
- PE文件格式学习总结
- 虚函数
- HDU1001
- Section 4.3 lgame
- Section 4.2 jobs