286保护模式(PM)从根本上不同于386提供的保护模式。可以将286 PM视为原型,它有很多缺点,几乎没有人使用过它,整个东西是从386开始完全重新设计的。
它没有使用平面内存模型,而是使用了诸如实模式之类的分段模型,这意味着您必须一次跳越圈才能一次访问大于64kB的块中的内存。
它与当时所有可用的(MS-DOS)程序完全不兼容,因此一旦进入PM,您将无法使用任何以前使用过的程序。
除非您重新启动PC,否则您也无法再次退出保护模式,因此制造商想出了一些创新的解决方案,例如在RAM中放置一个标志,然后将一个神奇的值写入键盘控制器,这将使CPU上的复位引脚弹起,从而重新启动PC。机。BIOS要做的第一件事是检测到较早设置的标志,然后它将跳回到原始程序,而不是运行POST例程,从而允许原始程序在“退出” PM后继续运行。
这意味着使用286 PM会使您无法运行正常的DOS程序而没有很多技巧。在只有DOS程序的时候,完全不值得使用PM。
因此,使用286 PM最终要比不使用286 PM和依靠EMS和XMS访问额外的内存更加复杂。许多286主板都支持EMS的芯片组,因此您可以使用所有额外的系统内存而无需PM。
英特尔意识到了这些缺点,并在386中生产了全新的完全不同的PM。平面内存模型使访问内存(最多4GB)变得简单。CPU可以通过两条指令进出PM,因此不需要笨拙的重启协议。VM86意味着在大多数时间甚至不需要退出PM时,您仍可以在PM中运行DOS程序。
所有这些改进意味着386 PM不仅功能更强大,而且兼容性也大大提高。
换句话说,286和386保护模式之间唯一的共同点就是名称。这就是为什么PM操作系统通常为386或更高版本的原因。增加对286 PM的支持将是完全独立的工作,几乎没有代码可以与完全不同的386 PM共享。
相比之下,直到最后一个32位CPU为止,386 PM的工作方式几乎相同,甚至在64位CPU上运行32位软件时也是如此。