![]() |
|
#1
|
|||
|
|||
|
Different levels software can be run at?
Can someone help me get a whole picture of the different levels software can work at?
my guess. 1. Application level 2. System level 3. Device level Is this right? |
|
#2
|
|||
|
|||
|
If you mean privilege levels, there are four of them (ring3-ring0) - when speaking of Intel 80X86 with X>2
![]() In fact Windows systems use just two of them - ring3 (apps) and ring0 (system, drivers...). In ring3 you can't do some things (privileged) so that is why everyone digging deep must be in ring 0. Regards, least |
|
#3
|
|||
|
|||
|
Rhodium
Thats how I understand it. 1) Device drivers interface hardware to the operating system 2) Operating system provides services 3) Applications use the services provided by the O/S Sounds simple until you try to fix something!
|
|
#4
|
|||
|
|||
|
Least..
What about Ring 1 components (Network stack, video). Also don't forget about user, kernel, gdi.. Because these are the fundimental DLL's that most hardware and software used (thunked) when the other parts of the device drivers or programs would explode and cause blue screens. NT 3.x had these DLL's loaded in Ring 1; NT 4.x moved them to Ring 0 for speed but sacrificed stability. But MS moved these back to Ring 1, and figured out how to get back the stability of NT 3.x and the speed of loading like NT 4.x ...
|
|
#5
|
|||
|
|||
|
Thanks ntwizard, this fact is new for me, I really thought that Win uses just Ring 0 and 3.
Regards, least |
|
#6
|
|||
|
|||
|
Least,
I can thanks Jeff Richter for teaching me about Windows NT software and hardware architecture (NT Internals) while I worked for Intel..
|
|
#7
|
|||
|
|||
|
Quote:
But OS/2 use Ring 1 level in some parts |
|
#8
|
|||
|
|||
|
I really don't so..
Jeff Richter the author of many Windows 32 programming manuals taught me this in the Advanced Windows Hardware Architecture classes I took while I was working at Intel... It is also in Helen Custer's Inside Windows NT.. Since Windows NT still has compatability with OS/2, all three rings would be used.. |
|
#9
|
|||
|
|||
|
OS/2 Warp uses three rings.
ring3 - Application ring2 - IOPL (ex Presentation Driver) ring1 - not used ring0 - Kernel, Physical/Virtual Driver |
|
#10
|
|||
|
|||
|
Quote:
VDM (DOS) |
![]() |
| Thread Tools | |
| Display Modes | |
|
|