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.