Ring 1 and Ring 2 Memory Protection Architecture

The four ring system was designed by Intel for anyone to use, and Microsoft chose a scheme to simplify development work and provide a faster OS at the cost of some security. As far as Microsoft is concerned, they haven't been phased out, so much as they were never used to begin with. Microsoft didn't ask Intel to make a two ring system; Intel provided a four ring general-purpose system, and Microsoft decided to use it in a way they saw fit.

Intel had provided a way for OS's to provide extra security to prevent malicious drivers from crashing the system, and Microsoft chose to go a different way (signed drivers), which is optional in 32-bit mode, and required in 64-bit mode. Microsoft requires validation that the drivers will not affect the system before they will sign a binary. You'll recall that Windows 95/98 were notorious for crashing. This is because drivers were usually buggy and the OS had no protection from those drivers, since they were all in Ring 0.

I believe there are some modern operating systems still in use today that use more than two ring levels, and as a matter of backwards compatibility, hardware manufacturers can't exclude those two "unused" rings. Just because Microsoft nor the main Linux kernel uses more than two levels doesn't mean that someone couldn't write an OS that does use the extra protection that Rings 1 and 2 provide. Hardware protection from malicious or just faulty software was absolutely necessary in an age where we could not verify program behavior beforehand, and processors were too slow to do all of the protection in software.

Microsoft also released a research project called Singularity, and operating system where all code runs in Ring 0, and all pages in memory do not use segment selectors. In other words, there are no hardware protection against malicious programs. This results in a significant boost in speed, as programs no longer have to pass through ring levels to call kernel code, but all code has to be statically verifiable, as it would be if written in .NET without using the "unsafe" keyword. The OS can statically verify that a program is not malicious before execution. The full source code is available for free.

Hardware protection is likely never going to phased out, because there are simply too many systems that depend on it. It would take a coordinated effort between hardware and software vendors, and it would probably cost billions or even trillions of dollars in the long run, without any significant reduction of cost in terms of operating power/speed/etc. The two rings, 0 and 3, will likely continue to be used in the foreseeable future as long as there are only three major competing OSes (Microsoft, Apple, Linux). It would take a significant market change to upset the status quo.