Michael Leone on Tue, 9 Jan 2001 23:47:27 -0500

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: [PLUG] Deep, involved technical question

On Tuesday 09 January 2001 22:50, you wrote:
> I got into a conversation with a cow orker today and found myself being

A cow orker, huh? Lemme guess .. his point was "moot"?

Sorry; couldn't resist.

>I said, "Because Unix handles tasks differently.  There isn't the same amout 
>of resource contention on equal equipment because it's all about process 
>control, rather than threads.  Each process has its own space that appears 
>exclusive to that process.  That's why when an app crashes, it doesn't bring 
>the system down."
> He said, "Well I was under the impression that NT does the same thing."
> And that, my friends, is where my knowledge ends.  I knew he was wrong, but
> couldn't say why (to the depth I needed to).

Many NT 4 crashes are caused by the fact that the GDI (Graphical Device 
Interface), a number of device drivers (such as video drivers) run in CPU 
Ring 0 (read: kernel space). So if the video driver crashes, the whole OS 

In NT 3.51, these types of drivers were in CPU Ring 3 (read: userspace aka 
application space), where they belong. They were moved into Ring 0 for speed 
reasons. So NT got faster, but much less stable.

"Some people have raised concerns about stability and the shifting of the 
Win32 subsystem into Ring 0 kernel code. Yes, a buggy video driver that 
overwrites other kernel data structures can crash the system."

See http://msdn.microsoft.com/library/periodic/period96/S413.htm

So, yeah, an app that calls buggy device driver code can crash not only the 
app (which makes sense), but (since the buggy code now runs in kernelspace), 
the buggy code can bring down the whole kernel/OS.

That help any?

> So, was I right as far as I went (not very) and can someone either give me
> a quick and dirty explanation or point me to a good source?
> Thanx for reading and for the help.
Michael J. Leone <mailto:turgon@mike-leone.com>
PGP Fingerprint: 0AA8 DC47 CB63 AE3F C739 6BF9 9AB4 1EF6 5AA5 BCDF

Philadelphia Linux Users Group       -      http://www.phillylinux.org
General Discussion  -  http://lists.phillylinux.org/mail/listinfo/plug