www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1997/05/01/23:07:30

Message-ID: <2FA44E95.369B@impsat1.com.ar>
Date: Sun, 30 Apr 1995 23:59:33 -0300
From: Fernando Salas <fsalas AT impsat1 DOT com DOT ar>
MIME-Version: 1.0
To: djgpp mailing list <djgpp AT delorie DOT com>
Subject: Re: DJGPP Ring
References: <01bc55a4$2853a860$843463c3 AT default> <5ka736$508 AT news DOT ox DOT ac DOT uk> <01bc5677$328364a0$b13e63c3 AT default> <5kb9fl$lv6 AT news DOT ox DOT ac DOT uk>

George Foot wrote:
> 
> Thomas Harte (T DOT Harte AT btinternet DOT com DOT REMOVE_THIS_BIT) wrote:
> : > :   Is there such a thing? If not, would anyone be
> : > interested in starting one?
> : >
> : > Who would get to be ring 0 though?
> 
> :       Umm, why is there a ring 0? I don't know much about these things, but
> : surely you pick up on the ring from whichever page you happen to come
> : across which is attached to it. Am I wrong?
> 
> :               -Thomas
> 
> Sorry, it was a horrible pun... `Ring' is a term for an operating level in
> a protected mode system, and ring 0 is the `supervisor' level, which has
> the most priviledges (AFAIK, I'm no expert in it).
> 
> --
> George Foot <mert0407 AT sable DOT ox DOT ac DOT uk>
> Merton College, Oxford

Thats right the ring 0 is where normally the kernel runs. The reason for
the existance of rings is simple, protection. As a program running in a
ring could not affect the programs in a more priviledged ring, then this
prevents a user program crash the whole system when it becomes unstable
(at least theorically). For example : 
Let us supose that the kernel that manages the whole system is in ring 0
(most privileged), the devices that manages hardware in ring 1 and the
user programs in ring 2(less priviledged).

In this configuration the user programs cannot overwrite the devices and
kernel memory spaces as the processor itself won't allow it. so a
programm may crash and the devices and system will still be healthy
enought to continue the execution of the others programs running. 
In the same way a device that crashed could damage a user program but
not the system kernel, so some recover is possible also.

All this ring stuff comes when multitasking OS are developed so one
program that crashes couldn't kill the entire system

I don't know how is the ring configuration for djgpp cause I 'm new with
it, anyone?. I guess that's all in ring 0 anyone knows this for sure?

Hope this explain more or less the concept, if not let me know.

Fernando Salas

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019