On Tue, 2007-06-12 at 22:47 -0700, Chuck Esterbrook wrote: > > Windows doesn't support preemptive multitasking? It's kernel designer > didn't design threads into it?
Don't confuse preemptive multitasking with threads. Just because it supports threading does not mean it supports the other. Though it was stated that NT supported preemptive multitasking, it really never did. As for W2K and XP, I don't recall if the statement was ever made, but I seriously doubt they do. BTW, OS/2 Warp does (just some trivia there, sparked by comments elsewhere in this thread.) > > If you were talking about Windows 3.1, 95, 98, Me, sure. But NT, 2000, > XP and Vista do in fact have preemptive multi tasking and threading at > a kernel level by design. This is fairly well known and easy to > observe. NT dose not support true preemptive multi-tasking. I can even give you a prime example which proved it to us at DIGITAL. Note, DIGITAL was a development partner of M$. We had a graphics workstation that used several boards (9 of them) and several PPC 200MHz for parallel processing power. The system had to update the frame buffer during the vertical blanking (VB) interval, which is interrupt driven. The VB interrupt should be very important and a high priority, and should preempt most anything else in the system. Well, it turns out that NT (and 2000, XP, and probably Vista), will handle interrupts - and anything else - as they damn well please. We had written a VB ISR that would update the frame buffer and a couple other buffers. We constantly got "tearing" in the video. After some time playing with code, a logic analyzer, and scope, I finally discovered the reason. NT was servicing the interrupt at more-or-less random times. Often the interrupt would come near the end of the end of the VB interval, leaving almost no time (in computer terms) to complete the ISR. At other times it would happen right away. This was the case even when nothing else was happening in the system (e.g. - no disk IO, no mouse/keyboard input, etc.) M$ was no help and would not assist us with the problem, which was a big one. These systems were used by Toyota and other car makers for designing cars. The system never did work on NT (but the UNIX version was nearly flawless). To this day I have problems with Windows multi-tasking and threading whereas the same applications on Linux work fine. > > I'm sorry you've had so many problems with Windows, but with a message > like this you cross the boundary from "Microsoft detractor" to > "Microsoft FUD generator". I already printed a retraction stating that I was thinking of W2K not working on Alpha. Again, silly stupid me. :) > > Btw the first search for "Windows interrupts" yields "Microsoft > Windows Vista includes enhancements to the Windows interrupt > architecture. These enhancements include support for new and extended > features." at http://www.microsoft.com/whdc/system/bus/PCI/MSI.mspx I hope it's far better that all other versions (I'll look at the link later), but I wouldn't trust anything M$ says without testing it (we couldn't trust them as partners at DIGITAL). PGA -- Paul G. Allen BSIT/SE Owner/Sr. Engineer Random Logic Consulting www.randomlogic.com -- [email protected] http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-lpsg
