Why Do Operating Systems Only Utilize 2 of the 4 Processor Rings?

  • Thread starter Thread starter Alain De Vos
  • Start date Start date
  • Tags Tags
    Rings
Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
4 replies · 2K views
Alain De Vos
Messages
35
Reaction score
1
Most processors have 4 rings. Why do operating systems only use 2.
Historical reason ? Overhead ? There is no need for more than two rings ?
 
Physics news on Phys.org
I think its choice and the environment where a machine is used:

Windows is used in home and office with normally one user per machine hence two rings are sufficient.

Mainframe multi-user machines would take advantage of 3 rings or more.

Multics and OS/2 used more than 2 rings. Multics complexity lead ATT researchers to reject it and develop a simpler OS Unix

Anyway, here's some more info on it:

https://en.wikipedia.org/wiki/Protection_ring
 
Last edited:
  • Like
Likes   Reactions: Silicon Waffle
Alain De Vos said:
Most processors have 4 rings. Why do operating systems only use 2.
Historical reason ? Overhead ? There is no need for more than two rings ?
I often heard it from a few friends of mine who used to apply for positions that are basic OS or device drivers (DDs) related.
Historical reason concerns low-level system accessing modes, in which processes used to compete or use each other address spaces inadvertently . Layering would help them i.e (1) work in a more secure environment, (2) backtrack their switches between modes easier e.g your application may switch from ring 3 to ring 0 to get a function work for you but still under the supervision of your kernel, etc. Ring 1,2 are where all DDs, which are not software applications by definition, are being used. So applications e.g guest OSes created by virtual machines making most use of DDs might have their code resources stored in these rings.
 
Windows used to have ports for Alpha and MIPS. Both of these have only two rings. MacOS was on the Power architecture and 68K before that. These have only two as well. Linux grew up on x86 so I guess Mr. Torvalds could have used all four but that would have complicated future porting efforts. He either thought of this or just didn't need more.

BoB