操作系统开发--操作模式实模式保护模式

IA-32架构支持三种基本的操作模式:保护模式实地址模式和系统管理模式操作模式决定了哪些指令和架构特性是可访问的

 

保护模式——这种模式是处理器的原生状态保护模式下内存段都会有自己的读写属性以及特权等级这才是保护模式的真正意义在该模式下可以让实地址模式的8086软件直接执行并让该软件运行于受保护的多任务环境中尽管运行8086软件的特性不是一个处理器模式但是也被称为虚拟8086模式在这里可以好好的把概念分清以免混淆,virtual8086模式实际上是一种受保护的模式属性可以用于任何任务

 

实地址模式——这种模式实现了Intel 8086处理器的编程环境(如切换到保护或系统管理模式的能力)。处理器在启动或复位后是处于实地址模式的

 

系统管理模式(SMM)——这种模式提供了一个透明的机制来实现特定平台的功能比如说电源管理系统安全等当外产SMM中断引脚本(SMI#)被激活时或在高级的编程中中断控制器(APIC)接收到SMI处理器会进入系统管理模式在该模式下处理器会进入一个独立的地址空间同时把当前进行的程序或任务的上下文保存下来接下来执行SMM的代码在模式返回时处理器会恢复原来保存的上下文

很少有人讲解64位架构的模式接下来讲下64位都有哪几种模式

 

64位架构增加了一个IA-32e模式,IA-32e模式下有两个子模式

兼容模式——这种模式允许大多数的16位和32位应用程序直接运行在64位操作系统下而不需要重新编译兼容模式类似于IA-32下的保护模式如果操作系统是64位的那可以支持64位的运行程序也可以向下兼容32位的应用程序该模式下程序只访问线性地址空间的前4G空间

64位模式——这种模式允许64位操作系统运行可以访问64位地址空间的应用程序该模式将通用寄存器扩展到64引入了新的前缀R,比如EAX变为RAX。汇编指令也都改为可以使用64位的寄存器和64位地址

操作系统开发--操作模式实模式保护模式_第1张图片
如果此篇文章对您有所帮助,请多多支持哦!您的支持是我一直写下去的动力!

操作系统开发--操作模式实模式保护模式_第2张图片

你可能感兴趣的:(操作系统开发)