[Nicked from the FB Vintage Computer Club]
Someone was claiming that the big innovation of OS/2 2 was that it used CPU protection rings, and that made it better than any version of Windows ever. XKCD 386 got me.
Protection rings date back to the 1960s or even the 1950s — the Multics OS that "inspired" Unix was known for its extensive use of them.
All OSes that use pre-emptive multitasking and hardware memory management use rings. The only significant question is how many — most x86 OSes only use ring 0 and ring 3 and nothing in between, which is simpler but throws away a massively useful protective feature.
OS/2 2 was unusual because it also uses Ring 1, I believe. This made it very hard to virtualise, which is what led to the development of VirtualBox.
Windows 2 286 & 386 both made very basic use of rings — even MS-DOS 386 memory managers such as QEMM do.
NT makes extensive use of them and dates all the way back to 1993. NT originated as OS/2 v3, of course, before the IBM/MS divorce.
Win 9x does make use of them, but because of its inspired hack of a design, it basically runs in Ring 0 almost all the time. But don't knock it. What the Win95 team did was amazing work: a protect-mode 386 OS that can run and use MS-DOS mode drivers. This was stunning work and is what made 32-bit Windows succeed and sell.
( Read more... )