Messages in this thread | | | Date | Thu, 28 Nov 1996 12:54:56 GMT | From | Matthew J Brown <> | Subject | RE: Linux doing "cooperative multitasking"? |
| |
Michael Nelson writes: > > Is Linux doing only "cooperative multitasking"? > >No. Cooperative multitasking is a severely broken method, which as far as > >I know is only used by M$ WinDog. Trusting the applications to multitask > >was stupid when M$ started to use it, and the people who have created and > >now maintain Linux would never use such a bad multitasking method. > > Actually, it's also used by Novell Netware. In certain situations, it can be put to good use.
Have you tried supporting a commercial NetWare NLM lately? (for the uninitiated, a NLM is a Netware Loadable Module, which is basically a server-resident program).
Cooperative multitasking turns one program hanging into the entire server hanging. It's damned easy to end up with an infinite loop or something under certain conditions in a large application. Also, since programs have to explicitly yield the CPU to other programs, any failure to yield for long periods significantly delays server response time and performance.
Of course, the fact that NetWare hasn't any memory protection anywhere is far worse -- anything can splat anything else's data at any time.
Supporting software that runs in such an environment is a nightmare -- *any* bug in any piece of software running on that server can *easily* bring down the entire machine, corrupt data, anything.
It amazes me that anyone would trust a netware server with their data, personally. No wonder all the corporates want to turn to NT, which for all its flaws is a Real OS.
So, cooperative multitasking is fine in a limited, controlled system which needs the low overhead; in anything bigger it's disgusting.
-Matt (speaking only for himself here)
| |