[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
"Real" Multitasking (Re: GNO questions...)
FYI: People who refer to preemptive multitasking as "real" multitasking are
people who know sh*t about what's what. Cooperative multitasking is every
bit as real (or actually fake) as preemptive multitasking. (The reason I
say actually fake is that under both systems, the processor is never truly
running things simultaneously. Both systems put one or more processes on
hold while running another. The only difference between the two is how the
computer decides to put one process on hold and run another. Preemptive
multitasking distributes time more smoothly and fairly, and is thus ideal
for multi-user systems. However, it is less efficient. A cooperative
multitasker generally doesn't have to save as much information (ie. registers,
machine state, etc.) during switches so it is more efficient. However, it
doesn't allocate time as smoothly. It is more ideal for single-user systems
where the foreground application is the most important and should give
immediate responces to the user.) Anyways, each system has its advantages
and disadvantages. But as a rule of thumb, preemptive multitasking is the
way to go for multiuser systems, whereas cooperative (Mac-style) multitasking
is the best way to go for single user systems. Cooperative multitasking is
more efficient for many reasons I didn't mention above and is always the best
way to go unless you absolutely require a level of smoothness that justifies
the additional overhead and complexity of preemptive multitasking and the
problems that go with it (re-entrant OS routines and so on).
Those who wish to flame me via E-mail please send to "gtr@tfsquad.mn.org"
(not the address listed as "From" above as I'm on a friend's account
at the moment).
-GTR