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
Click For Summary

Discussion Overview

The discussion centers on the utilization of processor rings by operating systems, specifically why most operating systems only employ 2 out of the 4 available rings. Participants explore historical, technical, and practical reasons for this choice, considering different operating environments and system architectures.

Discussion Character

  • Debate/contested
  • Technical explanation
  • Conceptual clarification

Main Points Raised

  • Some participants suggest that the use of only 2 rings is due to historical reasons, overhead concerns, or a perceived lack of necessity for more than two rings.
  • Others argue that the choice of ring usage is influenced by the operating environment, noting that systems like Windows, which are typically used by single users, find 2 rings sufficient, while multi-user systems like mainframes could benefit from more rings.
  • A participant mentions that operating systems such as Multics and OS/2 utilized more than 2 rings, but the complexity of Multics led to the development of simpler systems like Unix.
  • Another viewpoint highlights that low-level system access modes historically required a layered approach to enhance security and manage mode switching, with different rings serving specific roles for device drivers and applications.
  • It is noted that various architectures, such as Alpha and MIPS, only support 2 rings, which may have influenced the design decisions of operating systems like Windows and Linux, potentially to simplify porting efforts.
  • One participant emphasizes that the critical abstraction in operating systems is the distinction between privileged and unprivileged tasks, suggesting that the degree of privilege is a key consideration in the design of ring usage.

Areas of Agreement / Disagreement

Participants express multiple competing views regarding the reasons for using only 2 rings in operating systems, and the discussion remains unresolved with no consensus reached.

Contextual Notes

Participants mention various historical and architectural factors that may influence ring usage, but these points are not fully explored or resolved, leaving some assumptions and dependencies unaddressed.

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 ?
 
Technology 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
 
The important abstraction is privileged and unprivileged. The degree of privilege is an extension of this, but the main idea of isolating tasks that require elevated privileges from those that do not is the important insight.
 

Similar threads

  • · Replies 18 ·
Replies
18
Views
3K
Replies
14
Views
2K
  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 9 ·
Replies
9
Views
4K
Replies
2
Views
2K
  • · Replies 1 ·
Replies
1
Views
921
  • · Replies 4 ·
Replies
4
Views
4K
  • · Replies 22 ·
Replies
22
Views
3K
  • · Replies 2 ·
Replies
2
Views
1K
  • · Replies 0 ·
Replies
0
Views
1K