[comp.sys.atari.st] Multitasking: What is available?

01659@AECLCR.BITNET (Greg Csullog) (01/26/89)

Can someone on the net provide a short review of multitasking options for the
ST. I've seen info about IDRIS, MINIX, OS/9 etc. How about a quick list of
names of OSs and features they offer.

Please, no cross-bearing, just some simple, honest, UNbiased facts!

Just as an aside, often people write about infinite reboots after they have
added something to their AUTO folders or have a desk accessory that is buggy
or they have forgotten to include the RSC file. I use STARTUP.PRG, a batch
file processor that lets me conditionallly run codes and to select accessories
at startup. If the system crashes, no problem - on the next boot cycle I
just say no (a la Nancy Reagan) to running the code or loading the ACC.

kirkenda@psu-cs.UUCP (Steve Kirkendall) (01/30/89)

In article <8901261512.AA11110@ucbvax.Berkeley.EDU> 01659@AECLCR.BITNET (Greg Csullog) writes:
>Can someone on the net provide a short review of multitasking options for the
>ST. I've seen info about IDRIS, MINIX, OS/9 etc. How about a quick list of
>names of OSs and features they offer.

I've used OS/9 and Minix, and have done some checking on Idris. My impressions:

OS/9
	I first used OS/9 on a Radio Shack Color Computer about 5 years ago.
	At the time, I thought is was the best OS ever written for an 8-bit
	machine with 64K RAM running at less than 1 MHz.  I bought my ST as
	an upgrade to the CoCo, intending to run OS/9 on it.

	That didn't work out.  My impression of the 68000 version of OS/9 is
	that it would be an even better OS for an 8-bit machine with 64K and
	a slow clock.  On an ST, it seems rather under powered.

	First off, it crashes frequently -- about every hour and a half.

	Second, not all of the documented features are implemented yet --
	some floating point functions don't work, and the hard disk driver
	doesn't perform all of the low-level calls it should (eg it won't
	park the hard disk).

	Third, it is SLOW.  Loading and starting a program takes a rather long
	time because OS/9 generates a CRC check value every time it loads a
	program.  Also, all programs must be written in position-independent
	code, with all data accessed via an base register.

	Fourth, the commands that come with OS/9 have different names ad
	syntax than their UNIX counterparts.  This didn't matter much 5 years
	ago, but it matters to me now.

	One nice thing about OS/9: you can easily remove parts of the OS that
	you don't need.  OS/9 is used in diskless microcontrollers.  Another
	nice thing is that multi-tasking is smooth... response time is always
	good, even though processing slow down.  Finally, the TTY driver is
	nice.  Characters are echoed as they are taken out of the type-ahead
	buffer, not when they are put in (which is what UNIX does) so that
	characters you type are never displayed *before* the prompt.  Also,
	in any program you can type ^A and have your last line redisplayed;
	this is almost like having history everywhere.

	OS/9 with a C compiler costs about $600.  You can also get a smaller
	package with a BASIC compiler for $135.  It does not support graphics.

Minix:
	Minix is used as a case-study in a textbook by Andrew Tanenbaum, called
	"Operating Systems - Design and Implementation".  I like it.

	The OS doesn't crash on me, but there are still bug reports most days
	posted in the newsgroup comp.os.minix.  Fortunately, bug fixes are
	reported there, too.

	It is hard to get good user documentation for Minix, because it is
	evolving so fast.  The textbook contains an accurate description of
	the oldest IBM-PC version, but the newest PC version and the ST version
	have been extended quite a lot.  The booklet that comes with the ST
	version describes the *differences* between the old PC version and the
	ST version, but that isn't a convenient reference.

	Minix claims to be slow, and it surely is.  Efficient algorithms for
	disk caching and code relocation help make programs start up quickly,
	so it doesn't usually *feel* slow... but all system calls are slow.
	Unbuffered output to the screen looks like it is running at about 4800
	baud.  Buffered I/O is much faster, since fewer system calls are needed.

	Minix is a clone of the old Version 7 UNIX.  It has the same system
	calls, and most of the commands are the same.  The shell uses the same
	syntax as the Bourne shell.  It is easier to port code from BSD 4.3
	to Minix than it is to port from SysV to Minix.

	But Minix's really outstanding feature it that it comes with source
	code for everything except the compiler.  You get the source to all
	utility commands, the kernel, even the installation tools.  This makes
	Minix a great resource for students, and it also insures that Minix
	will continue to evolve quickly.

	Minix with a C compiler costs $80.  The author says you can share it
	with a resonable number of friends; a "reasonable number" is defined
	to be 3, so each of you could pony up $20 if you're willing to share
	a single reference booklet.

	Minix does not currently support graphics, but there is a lot of
	interest out there, particularly the the Bellcore MGR flowing through
	the net these days.

Idris:
	I haven't used Idris; I've merely checked out their flyer.  As far as
	UNIX compatibility goes, it is much better than OS/9, but not quite
	as close as Minix.  That is, most of the commands have the same names
	as their UNIX counterparts, and some of them have the same syntax,
	but it isn't a clone.

	Like OS/9, Idris claims to be fast.  Fine.  I wouldn't know.

	Like OS/9, Idris claims to be appropriate for diskless controllers. OK.

	Like OS/9, Idris comes without source code, but you can still configure
	it to meet your needs.  This is probably a little more difficult with
	Idris than with OS/9, but I can't say for sure.

	Idris with a C compiler costs $600 (like OS/9).  Idris supports
	X-windows 10.x, but of course you need gobs of memory for that.

These days, I'm spending a lot of time with Minix and none at all with OS/9,
although I still read the OS/9 newsgroups.

	-- Steve Kirkendall
-- 
"If I seem insensitive to what you're going through,
	keep in mind that's the way I am." -- Mr. Spock

ocker@lan.informatik.tu-muenchen.dbp.de (Wolfgang Ocker) (02/02/89)

In article <1574@psu-cs.UUCP> kirkenda@psu-cs.UUCP (Steve Kirkendall) writes:
>OS/9
>	That didn't work out.  My impression of the 68000 version of OS/9 is
>	that it would be an even better OS for an 8-bit machine with 64K and
>	a slow clock.  On an ST, it seems rather under powered.
>
>	First off, it crashes frequently -- about every hour and a half.
OS-9/68000 V2.x is really stable, provided that the implementation is well
done. There are implementations out which use the (buggy) BIOS of TOS.
This causes real problems. 
>	Second, not all of the documented features are implemented yet --
>	some floating point functions don't work, and the hard disk driver
>	doesn't perform all of the low-level calls it should (eg it won't
>	park the hard disk).
Because I don't program sohisticated arithmetic programs I don't
know missing fp functions. The missing park iocontrol for the
harddisk is a lack of the implementation you use.
>	Third, it is SLOW.  Loading and starting a program takes a rather long
>	time because OS/9 generates a CRC check value every time it loads a
>	program.  
That's true. BUT: If a program is in memory already, it can be started
immediatly (no CRC computation). Programs are kept in memory, if possible. 
A good harddisk driver uses the multiple sector transfer,
so reading a programm from harddisk consumes only some 1/10 seconds.
> Also, all programs must be written in position-independent
>	code, with all data accessed via an base register.
True, but no real problem on the 68000. And there's no restriction
on the size of stack and static data.
>	Fourth, the commands that come with OS/9 have different names ad
>	syntax than their UNIX counterparts.  This didn't matter much 5 years
>	ago, but it matters to me now.
True, too. But there are shells available which allow aliasing. So
my "procs" is spelled "ps". 

May I summerize: The quality of OSK is highly dependant on the quality
of the implementation. Watch out for a better one! (Others are
available.) Many many UNIX tools have been ported and are free
available. 

/// Wolfgang Ocker

P.S.: Porting from UNIX to OSK is not so difficult as many people
believe. The port of Elm 2.1 beta took me about two days (the XENIX
port took the same amount of time ...)

P.P.S.: Im a really great MINIX fan! Thanks Andy!

/// Wolfgang
-- 
  |  Wolfgang Ocker          |  ocker@lan.informatik.tu-muenchen.dbp.de  |
  |  Lochhauserstr. 35a      |      pyramid!tmpmbx!recco!weo (home)      |
  |  D-8039 Puchheim         |     Technische Universitaet Muenchen      |
  |  Voice: +49 89 80 77 02  |          Huh, What? Where am I?           |