OS-9 is a family of real-time, process-based, multitasking, multi-user, Unix-like operating systems, developed in the 1980s, originally by Microware Systems Corporation. It is currently owned by RadiSys Corporation.
The OS-9 family was popular for general-purpose computing and remains in use in commercial embedded systems and amongst hobbyists. Today, OS-9 is a product name used by both the machine language 68K OS and the non-68K (PowerPC, X86, etc.) version written in C, originally known as OS-9000.21st century uses
- Versions of OS-9/68K run on a wide variety of 68000 family platforms, including the Sharp X68000 in Japan, some personal computers intended by their designers as upgrades from the Color Computer (e.g., the 68070 and 68340-based MM/1, and on other computers from Frank Hogg Laboratories, PEP, and Delmar Co.
- OS-9/68K is also found in some embedded applications, including the Quanta Delta television broadcast character generator, still in production by ScanLine Technologies in Utah. While the user-level interface code on this system started at boot time, there was a hidden, undocumented keyboard sequence that would provide a user with a root shell prompt, in a scroll window on the device's edit-channel monitor. As you might expect, this could be both useful, and dangerous.
- In the embedded market, where OS-9 has found application in such devices as the Fairlight CMI synthesizers, robotics, in-car navigation systems, and Philips' Compact Disc-Interactive (CD-i) industry standard.
- The TRS-80 Color Computer (and clones) still has users and an annual conference in Chicago; as of 2005 the 15th Annual "Last" Chicago CoCoFest is scheduled for April 2006. A group of Canadian programmers rewrote OS-9/6809 Level II for the CoCo 3 (w/ address translation hardware) for efficiency, and to take advantage of the native mode of the Hitachi 6309. Today's serious CoCo users now typically have replaced the 68B09E in the CoCo 3 with an Hitachi 63B09E and run the rewrite, called NitrOS9. The combination is surprisingly fast, considering that it runs on an expressly low cost, 8-bit computer system.
- OS-9000/80x86 can be run on PC-type machines built around the Intel x86 CPUs. OS-9000 has also been ported to the PowerPC, MIPS, some versions of Advanced RISC Machines' ARM processor, and some of the Hitachi SH family of processors.
Comparisons with Unix
OS-9's notion of processes and I/O paths is quite similar to that of Unix in nearly all respects, but there are some significant differences:
- The file system is not a single tree, but instead is a forest with each tree corresponding to a device.
- OS-9 does not have a Unix-style fork() system call--instead it has a system call which creates a process running a specified program.
- OS-9 processes keep track of two "current directories" rather than just one; the "current execution directory" is where it will by default look first to load programs to run.
- OS-9 has had a modular design from the beginning, influenced by notions of the designers of the 6809 and how they expected software would be distributed in the future (see the three-part series of articles in Jan-Mar 1979 Byte by Terry Ritter, et al of Motorola who designed the CPU).
:The module structure requires more explanation:
:*OS-9 keeps a "module directory", a memory-resident list of all modules that are in memory either by having been loaded, or by having been found in ROM during an initial scan at boot time.
:*When one types a command to the OS-9 shell, it will look first in the current module directory for a module of the specified name and will use it (and increase its link count) if found, or it will look on disk for an appropriately named file if not.
:*In OS-9/6809 and OS-9/68000, the module directory is flat, but OS-9000 made the module directory tree-structured. The OS-9000 shell looks in one's alternate module directory for a MODPATH environment variable, analogous to the PATH variable in all versions, indicating the sequence of module directories in which to look for pre-loaded modules.
:*Modules are not only used to hold programs, but can also be created on the fly to hold data, and are the way in which OS-9 supports shared memory.
- OS-9/non-68000 supports POSIX threads. A single process can start any number of threads.
History
The first version ("level one") , which dates back to 1979-80, was written in assembly language for the Motorola 6809 CPU, and provided a single 64KB address space in which all processes ran. A later 6809 version ("level two") takes advantage of memory mapping hardware, supported up to 1MB of memory (ca 1980!) in most implementations, included a GUI on some platforms, and so on.[ Visit the complete Wikipedia entry for OS-9 ]
| Searches on eBay |