The first version ("OS-9 Level One"), which dates back to 1979–1980, was written in
assembly language for the
Motorola 6809 CPU, and all of its processes ran within the 64KB address space of the CPU without a memory management unit. It was developed as a supporting operating system for the
BASIC09 project, contracted for by Motorola as part of the 6809 development. A later 6809 version ("Level Two") takes advantage of memory mapping hardware, supported up to 2 MB of memory (ca. 1980) in most implementations, and included a
GUI on some platforms. In 1983, OS-9/6809 was ported to
Motorola 68000 assembly language and extended (called OS-9/68K); and a still later (1989) version was rewritten mostly in
C for further portability. The portable version was initially called OS-9000 and was released for
80386 PC systems around 1989, then ported to
PowerPC around 1995. These later versions lack the
memory mapping facilities of OS-9/6809 Level Two simply because they do not need them. They used a single flat address space that all processes share; memory mapping hardware, if present, is mostly used to ensure that processes access only memory they have the right to access. The
680x0 and
80386 (and later)
MPUs all directly support far more than of memory in any case. As a consequence of early pervasive design decisions taking advantage of the easily used
reentrant object code capabilities of the 6809 processor, programs intended for OS-9 are required to be reentrant; compilers produce reentrant code automatically and assemblers for OS-9 offer considerable support for it. OS-9 also uses
position-independent code and data because the 6809 also supports it directly; compilers and assemblers support position independence. The OS-9 kernel loads programs (including shared code), and allocates data, wherever sufficient free space is available in the memory map. This allows the entire OS and all applications to be placed in ROM or Flash memory, and eases memory management requirements when programs are loaded into RAM and run. Programs, device drivers, and I/O managers under OS-9 are all 'modules' and can be dynamically loaded and unloaded (subject to link counts) as needed. OS-9/6809 runs on
Motorola EXORbus systems using the
Motorola 6809,
SS-50 Bus and SS-50C bus systems from companies such as
SWTPC,
Tano,
Gimix,
Midwest Scientific, and
Smoke Signal Broadcasting,
STD-bus 6809 systems from several suppliers, personal computers such as the
Fujitsu FM-11,
FM-8,
FM-7 and FM-77,
Hitachi , and many others.
System Industries, a third-party provider of DEC compatible equipment, used a 68B09E processor running OS9 in its QIC (
quarter-inch cartridge)
tape backup controllers in
VAX installations. The best known hardware (due to its low price and broad distribution) was the
TRS-80 Color Computer (CoCo) and the similar
Dragon series. Even on the CoCo, a quite minimalist hardware platform, it was possible under OS-9/6809 Level One to have more than one interactive user running concurrently (for example, one on the console keyboard, another in the background, and perhaps a third interactively via a serial connection) as well as several other non-interactive processes. One system, the Positron 9000, was positioned as a multi-user system for educational use, offering Microware's BASIC and Pascal environments, fitted with 64 KB to 512 KB of RAM, and featuring four to twelve serial ports. Responsiveness was reportedly impacted by multi-user operations in the system's minimal configuration, however. A second processor implementation of OS-9 for the
BBC Micro was produced by
Cumana. It included on-board RAM,
SCSI hard disk interface and a
MC68008 processor. OS-9 was also ported to the
Commodore SP-9000 or SuperPET, which had a 6809 in addition to the 6502 of the base 8032 model, as well as 64 KB more. The Toronto PET Users Group sponsored a HW/SW project which included a daughter board with an MMU as well as the OS-9 distribution disks. With two processors, 96 KB, a 25×80 screen and serial, parallel and IEEE-488 ports and many peripherals this was one of the most capable OS-9 systems available. OS-9's multi-user and multi-tasking capabilities make it usable as a general-purpose interactive computer system. Many third-party interactive applications have been written for it, such as the
Dynacalc spreadsheet, the VED text formatter, and the Stylograph and Screditor-3
WYSIWYG word processors.
TSC's
nroff emulating formatter was ported to OS-9 by MicroWay, as well. In mid 1980s, OS-9 was selected for the
CD-i operating system. Around the same time,
Microsoft approached Microware for acquisition of the company primarily because it was attracted by CD-RTOS, the CD-i operating system. The negotiation failed and no deal was made; Microware decided to remain independent. In late 1980s, Microware released OS-9000, a more portable version of the operating system. The vast majority of the operating system kernel was rewritten in
C leaving a handful of hardware-dependent parts in assembly language. A few "more advanced features" were added such as tree-like kernel module name space. OS-9000 was initially ported to the
Motorola 680x0 family CPUs,
Intel 80386, and
PowerPC. The OS-9000/680x0 was a marketing failure and withdrawn very quickly, probably because few customers wanted to try the fatter and slower operating system over the existing OS-9/680x0 proven record of stability. Microware later started calling all of its operating systems — including what had been originally called OS-9000 — simply OS-9, and started shifting its business interest towards portable consumer device markets such as cellphones, car navigation, and multimedia. In late 1980s and early 1990s, the Character Generators computers used in Broadcast Systems used OS-9 and OS-9000 extensively. The now defunct
Pesa Electronica used OS-9 on their CGs such as CG 4722 and CG4733. ==Name conflicts and court decisions==