为什么保护模式跳回实模式要选择一个NormalSelector
2012-01-09 12:48
316 查看
来自:http://blog.csdn.net/lancedegate/article/details/1558795
在分段管理机制一文中已介绍过,每个段寄存器都配有段描述符高速缓冲寄存器,这些高速缓冲寄存器在实方式下仍发挥作用,只是内容上与保护模式下有所不同。如上表所示,其中“Y”表示“是”;
“N”表示“否”;“B”表示字节;“U”表示向上扩展,“W”表示以字方式操作堆栈。段基地址仍是
32位,其值是相应段寄存器值(段值)乘以16,在把段值装载到段寄存器时刷新。由于其值是16位段值乘上16,所以在实模式下基地址实际上有效位只有20位。每个段的20位段界限都固定为0FFFFH,段属性的许多位也是固定的。所谓固定是指在实方式下不可设置这些属性值,只能继续沿用保护方式下所设置的值。因此,在准备结束保护模式回到实模式之前,要通过加载一个合适的描述符选择子到有关段寄存器,以使得对应段描述符高速缓冲寄存器中含有合适的段界限和属性。本实例GDT中的描述符Normal就是这样一个描述符,在返回实模式之前把对应选择子Normal_Sel加载到DS和ES就是此目的。
段寄存器 | 段基地址 | 段界限(固定) | 存在性 | 特权级 | 已存取 | 粒度 | 扩展方向 | 可读性 | 可写性 | 可执行 | 堆栈大小 | 一致特权 |
CS | 当前CS*16 | 0000FFFFH | Y | 0 | Y | B | U | Y | Y | Y | - | N |
SS | 当前SS*16 | 0000FFFFH | Y | 0 | Y | B | U | Y | Y | N | W | - |
DS | 当前DS*16 | 0000FFFFH | Y | 0 | Y | B | U | Y | Y | N | - | - |
ES | 当前ES*16 | 0000FFFFH | Y | 0 | Y | B | U | Y | Y | N | - | - |
FS | 当前FS*16 | 0000FFFFH | Y | 0 | Y | B | U | Y | Y | N | - | - |
GS | 当前GS*16 | 0000FFFFH | Y | 0 | Y | B | U | Y | Y | N | - | - |
“N”表示“否”;“B”表示字节;“U”表示向上扩展,“W”表示以字方式操作堆栈。段基地址仍是
32位,其值是相应段寄存器值(段值)乘以16,在把段值装载到段寄存器时刷新。由于其值是16位段值乘上16,所以在实模式下基地址实际上有效位只有20位。每个段的20位段界限都固定为0FFFFH,段属性的许多位也是固定的。所谓固定是指在实方式下不可设置这些属性值,只能继续沿用保护方式下所设置的值。因此,在准备结束保护模式回到实模式之前,要通过加载一个合适的描述符选择子到有关段寄存器,以使得对应段描述符高速缓冲寄存器中含有合适的段界限和属性。本实例GDT中的描述符Normal就是这样一个描述符,在返回实模式之前把对应选择子Normal_Sel加载到DS和ES就是此目的。
相关文章推荐
- 为什么保护模式跳回实模式要选择一个NormalSelector
- 2013-02-23 -一个简单的实模式跳转到保护模式程序(无loader功能)
- CPU保护模式 分页表 描述符 段选择子
- 从桌面图标启动一个LauncherMode为标准模式的主activity为什么不会重复创建多个实例
- 一个操作系统的实现-5_保护模式4
- 《一个操作系统的实现》(三):4.中断和异常&5.保护模式下的I/O
- 一个操作系统的实现-2_保护模式1
- Comet4J(Comet for Java)是一个纯粹基于AJAX(XMLHTTPRequest)的服务器推送框架,消息以JSON方式传递,具备长轮询、长连接、自动选择三种工作模式。
- 《Orange’s 一个操作系统的实现》3.保护模式1----pm.inc分析
- 《Orange’s 一个操作系统的实现》3.保护模式8-页式存储
- 《Orange’s 一个操作系统的实现》3.保护模式6-特权级转移(门描述符概述)
- 《Orange’s 一个操作系统的实现》3.保护模式7-特权级转移(通过调用门转移目标段-有特权级转换-实践篇)
- 《Orange’s 一个操作系统的实现》3.保护模式4----LDT(Local Descriptor Table)
- 《Orange’s 一个操作系统的实现》3.保护模式3----DOS加载.EXE过程
- 《一个操作系统的实现》(三):1.认识保护模式
- [企业管理]如何与一个纯技术的老板合作第五篇——当初我为什么离开电信还会选择进入中科院
- 《Orange’s 一个操作系统的实现》3.保护模式3----保护模式进阶
- 《Orange’s 一个操作系统的实现》3.保护模式3----保护模式进阶
- 为什么一个条件变量要用互斥变量来保护
- 《Orange's 一个操作系统的实现》学习笔记--保护模式理论初步(二)