RE: Linux doing "cooperative multitasking"?

Matthew J Brown (mjb@sophos.com)
Thu, 28 Nov 1996 12:54:56 GMT


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)