Exetools

Exetools (https://forum.exetools.com/index.php)
-   General Discussion (https://forum.exetools.com/forumdisplay.php?f=2)
-   -   Different levels software can be run at? (https://forum.exetools.com/showthread.php?t=3757)

Rhodium 03-27-2004 01:54

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?

least 03-27-2004 03:18

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

MrCracking 03-27-2004 03:20

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 :mad: until you try to fix something!

ntwizard 03-29-2004 12:14

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 ... :D

least 03-29-2004 17:28

Thanks ntwizard, this fact is new for me, I really thought that Win uses just Ring 0 and 3.
Regards,
least

ntwizard 03-29-2004 22:40

Least,

I can thanks Jeff Richter for teaching me about Windows NT software and hardware architecture (NT Internals) while I worked for Intel..
:)

_kin_ 04-24-2004 01:51

Quote:

Originally Posted by ntwizard
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 ... :D

Oops, I think you are wrong. NT in all versions use only two level (R0 - R3 on Intel) becouse NT initially it designed not only for Intel (PPC and MIPS).
But OS/2 use Ring 1 level in some parts

ntwizard 04-24-2004 04:07

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..

gooboo 04-24-2004 18:23

OS/2 Warp uses three rings.
ring3 - Application
ring2 - IOPL (ex Presentation Driver)
ring1 - not used
ring0 - Kernel, Physical/Virtual Driver

_kin_ 04-27-2004 22:09

Quote:

Originally Posted by ntwizard
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..

Windows NT has limited compatibility with OS/2 (16 bit app only, no any privileged code like IOPL modules/dlls). OS/2 subsystem run only in Ring-3 like
VDM (DOS)


All times are GMT +8. The time now is 16:17.

Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2026, vBulletin Solutions, Inc.
Always Your Best Friend: Aaron, JMI, ahmadmansoor, ZeNiX