| Paul Durrant
|
2
|
 |
|
02-12-2004 11:42 AM ET (US)
|
|
I am astonished. I thought that Windows XP was built on the Windows NT foundation and was a full pre-emptive multi-tasking operating system. How can they have written it so badly that the entire system hangs up because one thread is waiting for a response from a peripheral?
<FX: Thread being dragged in a different direction> A pre-emptive multi-tasking system seems to make programmers lazy - because the operating system is supposed to handle allocating time they don't worry about doing long bits of processing with no breaks. this leads to an unresponsive user-interface. The pre-emptive bit means that a user can (usually) switch to another application, but the busy application may be 'dead' for tens of seconds.
At least with co-operative multi-tasking systems, programmers had to make sure that the system got time even during intensive calculations, leading to a responsive user interfaces for even for the busy application. Well, if the programmer got it right, anyway :-).
In this case, the programmers seem to have made an assumption that they can let the OS allocate time to other threads at a point where the OS can't do that. :-(
Paul
|