Creating more privilege rings

63 Views Asked by At

As I understand it, there are two privilege rings in most operating systems: kernel mode and user mode. Could an operating system developer create additional privilege rings, like a middleware mode or a kernel module mode?

1

There are 1 best solutions below

2
Martin Drab On

It depends on the processor architecture. IA-32 (and AMD64 too) actually support four privilege levels (rings) – ring 3 (usermode) and ring 0 (kernelmode). You can execute code on other rings (1 or 2) by manipulating the global/local descriptor table (GDT/LDT).

IMHO, hypervisors take advantage of the other ring levels for performance reasons (the virtual machine kernel executes on ring 1 instead of 0 and only privileged instructions that can be executed only on ring 0 are emuleated).