保护模式
维基百科,自由的 encyclopedia
保护模式(英语:Protected Mode,或有时简写为 pmode)是一种80286系列和之后的x86兼容CPU的运行模式。保护模式有一些新的特性,如存储器保护,标签页系统以及硬件支持的虚拟内存,能够增强多任务处理和系统稳定度。现今大部分的x86操作系统都在保护模式下运行,包含Linux、FreeBSD、以及微软Windows 2.0和之后版本。
此条目可参照英语维基百科相应条目来扩充。 (2020年7月28日) |
另外一种286和其之后CPU的运行模式是实模式,这是一种向前兼容且关闭了保护模式这些特性的CPU运行模式,用来让新的芯片可以执行旧的软件。所有的x86 CPU都是在实模式下开机,来确保传统操作系统的兼容性。为了使用保护模式的特性,要由程序主动地切换到保护模式。在现今的电脑上,这种切换通常是操作系统在开机时候完成的第一件任务。当CPU在保护模式下运行时,可以使用虚拟86模式来执行为实模式设计的代码。
尽管用软件的方式也有某些可能在实模式的系统下使用多工,但保护模式下存储器保护的特色,可以避免有问题的程序破坏其他任务或是操作系统核心所拥有的存储器。保护模式也有中断正在执行程序的硬件支持,可以实现先占式多工。
大部分可以使用保护模式的CPU也拥有32位寄存器的特性(例如80386系列和其后任何的芯片),导入了融合保护模式而成为32位处理的概念。80286芯片虽有支持保护模式,但是仍然只有16位寄存器。Windows 2.0和之后版本中的保护模式增强称为"386增强模式",是因为他们除了保护模式外,还需要32位的寄存器,并且无法在286上面执行(即使286支持保护模式)。
即使在32位芯片上已经打开了保护模式,但是为了仿照IBM XT系统存储器连续的设计特性,1 MiB以上的存储器并无法访问。这种限制可以由打开A20总线来回避。
在保护模式下,前面32个中断都是保留给CPU异常处理用。例如,中断0D(十进制13)是一般保护模式错误,而中断00是除以零。