四环系统是英特尔设计的,任何人都可以使用,微软选择了一种方案来简化开发工作,以牺牲一些安全性为代价提供更快的操作系统。就微软而言,它们并没有被淘汰,因为它们从一开始就没有被使用过。微软没有要求英特尔制造两环系统;英特尔提供了一个四环通用系统,微软决定以他们认为合适的方式使用它。
英特尔为操作系统提供了一种方法来提供额外的安全性,以防止恶意驱动程序使系统崩溃,而微软选择了另一种方式(签名驱动程序),这在 32 位模式下是可选的,在 64 位模式下是必需的。Microsoft 要求验证驱动程序在签署二进制文件之前不会影响系统。您会记得 Windows 95/98 因崩溃而臭名昭著。这是因为驱动程序通常是错误的,并且操作系统对这些驱动程序没有保护,因为它们都在 Ring 0 中。
我相信今天仍在使用一些现代操作系统,它们使用两个以上的环级别,并且作为向后兼容性的问题,硬件制造商不能排除这两个“未使用”的环。仅仅因为微软和主要的 Linux 内核使用两个以上的级别并不意味着有人不能编写一个确实使用 Rings 1 和 2 提供的额外保护的操作系统。在我们无法事先验证程序行为并且处理器速度太慢而无法在软件中完成所有保护的时代,硬件保护免受恶意软件或故障软件的侵害是绝对必要的。
微软还发布了一个名为Singularity的研究项目,以及所有代码都运行在 Ring 0 中的操作系统,并且内存中的所有页面都不使用段选择器。换句话说,没有针对恶意程序的硬件保护。这会显着提高速度,因为程序不再需要通过环层来调用内核代码,但所有代码都必须是静态可验证的,就像在 .NET 中编写而不使用“不安全”关键字时一样。操作系统可以在执行之前静态地验证程序不是恶意的。完整的源代码可免费获得。
硬件保护可能永远不会被淘汰,因为依赖它的系统实在太多了。这需要硬件和软件供应商之间的协调努力,从长远来看可能会花费数十亿甚至数万亿美元,而在运行功率/速度等方面的成本没有任何显着降低。只要只有三个主要的竞争操作系统(Microsoft、Apple、Linux),在可预见的未来,这两个环(0 和 3)很可能会继续使用。要打破现状,需要重大的市场变化。