Rumor has it that Eric Smith may have mentioned these words:
Paul Koning wrote:
Come to think of it, cooperative multitasking is
trivial, you can code
your own. It looks like this:
for {;;} { task1(); task2(); task3; /* etc */ }
That's only a very restricted case of cooperative multitasking, though
it can nevertheless be useful and effective for many problems.
True...
[snip]
Many people have gotten the idea that cooperative
multitasking is "bad",
or that it isn't "real" multitasking.
It isn't! ;-) Joking, but having used a pre-emptive multitasking OS on an
8-bit machine for a lot of years, which ran better / more stable, heck -
quicker than Win31 on a 386, one may be able to see why I have a bit of a
jaundiced eye towards cooperative multitasking systems...
;-)
Which is why I'm still kind of surprised no-one's brought it up yet: OS-9
for the 6809 CPU. Granted, it's for a micro and not a mini (but heck, so's
winders, MacOS & AmigaOS) but there is a freeware version out with source
and everything (and the last updates were less than a year ago, and there's
nightly CVS snapshots available) here:
http://www.nitros9.org/
Originally, NitrOS9 was a set of patches to use the enhanced capabilities
of the 6309 under OS-9 Level 2 - but they've basically rewritten the OS
around the patches, not only for Level 2, but even backported it to Level
1, which will run on the coco 1 and 2, and possibly even the Dragon.
Oh, and it's even rather unix-like! ;-)
I had OS-9 Level 1 easily running in 24Kbytes (altho 64K RAM was necessary
in the computer), and IIRC just to see if I could do it, I had a bootdisk
that shoehorned it into 16K, but there were precious few modules in memory
for that.
It's written in 6809/6309 assembly, so that might get you started...
In reality, there are many
scenarios in which cooperative multitasking is a better solution than
preemptive multitasking. Either type can get you into trouble if you're
not careful.
That's kinda like saying "Sword swallowing can get you into trouble if
you're not careful..." ;-)
Laterz,
Roger "Merch" Merchberger
--
Roger "Merch" Merchberger -- SysAdmin, Iceberg Computers
zmerch at
30below.com
What do you do when Life gives you lemons,
and you don't *like* lemonade?????????????