Page 3 of 3
Re: Rings 1 and 2
Posted: Mon Feb 09, 2009 8:56 am
by Love4Boobies
xlq wrote:As I see it, rings 1 and 2 were designed to run code at a privilege level that could have absolute power over ring 3 processes but keeping the kernel protected from it. But if you're going to run drivers outside ring 0, then it's worth providing a simple API to the kernel rather than letting ring 1 code mess around with ring 3 bits itself.
I still fail to see any reason for having this. Besides, this can be very well implemented with only rings 0 and 3 + paging, thus making the code more portable across diferent CPU architectures.
Re: Rings 1 and 2
Posted: Mon Feb 09, 2009 10:01 am
by xlq
Yeah, exactly.
The only case where ring 1 (or ring 2) would be useful (being isolated from the kernel but being able to control ring 3) has no useful applications.
Re: Rings 1 and 2
Posted: Mon Feb 09, 2009 11:22 am
by yemista
Im pretty sure its because Intel thought that theoretically it could be really useful, but in practice it turned out all you needed was 2. I remember
reading this somewhere in some discussion, but unfortunatley I cannot back this up with a link.
Re: Rings 1 and 2
Posted: Mon Feb 09, 2009 1:42 pm
by jal
yemista wrote:Im pretty sure its because Intel thought that theoretically it could be really useful, but in practice it turned out all you needed was 2. I remember reading this somewhere in some discussion, but unfortunatley I cannot back this up with a link.
Also remember that the 4 privilige levels were introduced in a time before paging, so all arguments against that include 'paging' as part of the argument are invalid.
JAL