From: utzoo!decvax!microsof!uw-beave!cornell!lee
Newsgroups: net.micro
Title: Re: Replies to OS-9 2
Article-I.D.: cornell.4089
Posted: Thu Mar 10 13:19:16 1983
Received: Fri Mar 11 07:33:53 1983
References: ihuxf.240



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.