[net.micro] Replies to OS-9 2

gmark (03/10/83)

This is a second attempt-- machine dumped me.  Apologies for any resultant
garbage on the net.
 
First, thanks to all for replies to my request for deeper user reaction to
the OS-9 system.  More are welcome.
 
Second, to those who weren't aware that it was available, I have seen adverts.
in several publications for OS-9 and FLEX for the CoCo from Frank Hogg Laboratories.
 
Third, the concensus seems to be that OS-9 is pretty wonderful.  However, I
know little more than that, and would appreciate description of all the too
wonderful things it does for us uninformed.
   
                                           G. Mark Stewart ihuxf!gmark

bernie (03/10/83)

OS-9 is good, but I think "wonderful" is a little strong.
I'll assume you already know its good points (which are many); its faults
are as follows :
      1.  Error messages.  OS-9 gives you terse error numbers by default
 	(a practice that I had thought dead once and for all); even with
	a (rather large) table of error messages loaded into memory, you
	only get a "CAN'T OPEN PATH" message when a file is inaccessible;
	not only is there no indication of *why* the file can't be opened,
	it doesn't even tell you *which* file it couldn't open.
2.  Documentation.  It may be better by now, but the stuff I saw was
	extremely primitive.
3.  Reliability.  We've had pretty good luck overall, but the system
	seems to hang a lot.  (In fairness to OS-9, this may be due to a
	hardware glitch on our system; however, it does not show up when
	we run Flex, only OS-9).
			--Bernie Roehl
			...decvax!watmath!watarts!bernie

lee (03/10/83)

First, my credentials:
	I have worked with OS-9 on my pc, at a part-time job,
and I wrote one of the four OS-9 programs that Frank Hogg sells.

	OS-9 is an attempt to deliver an OS as UN*X-like as possible
with only 56k or so of memory and an (essentially) 8-bit processor, and
at a price that a hobbyist can reasonably afford ($200 for the OS.)
In addition, because of the large number of small manufacturers in the
6809 hardware market, OS-9 had to be much easier to adapt to new hardware
than UN*X. The way this is done is to have the OS construct itself at boot
time from a number of modules in ROM and disk. One or two of these modules
constitute the kernel. The rest make up the IO system. The IO system contains
three different kinds of modules:
	Device class modules:  these modules provide devices (virtual or real)
that behave very differently from one another, e.g., sequential character
devices (e.g., terminals, printers, modems), random block devices (e.g. disks),
and pipes.
	Device driver modules: these modules are the actual hardware device
drivers. Each device driver is associated with a device class module that
will call it.
	Device descriptor: there are one of these modules for every hardware
device in the system. Each gives a name for the device, the absolute address
where the controll registers for the device are, and the name of the device
driver module for the device. There can be many physical devices that share
the same driver. The name of each device appears in the root directory, and
behaves like a device in /dev under Un*X.

The system can be reconfigured by loading or unlinking IO modules, without
rebooting the system, so new devices can be added and their drivers
can be debugged very quickly.

Similarly, the rest of the OS is very adaptable.

The Shell provided is pretty minimal, but you can't really afford to have
a shell which requires huge amounts of memory for each invocation when you
only have 56k of RAM.

The languages translators are excellent compared to what is available
for most micros. The Pascal compiles to both P and machine code, and the
P code interpreter provides software virtual memory, so HUGE programs can
be run in very little RAM. The C compiler (NOT Microwares, Introl's) did the
best in the recent BYTE HLL benchmarks of any 8-bit machine C compiler
(and beat some of the 16-bit machines).

I could ramble on and on, but I have covered the best features of OS-9.
If anyone has more specific questions, please mail them to me.

			Lee A. Barford
			Cornell Computer Science Dept.