HOME

TheInfoList



OR:

OS-9 is a family of
real-time Real-time or real time describes various operations in computing or other processes that must guarantee response times within a specified time (deadline), usually a relatively short time. A real-time process is generally one that happens in defined ...
, process-based, multitasking, multi-user
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common daemon (computing), services for computer programs. Time-sharing operating systems scheduler (computing), schedule tasks for ef ...
s, developed in the 1980s, originally by Microware Systems Corporation for the
Motorola 6809 The Motorola 6809 ("''sixty-eight-oh-nine''") is an 8-bit computing, 8-bit microprocessor with some 16-bit computing, 16-bit features. It was designed by Motorola's Terry Ritter and Joel Boney and introduced in 1978. Although source compatible wi ...
microprocessor A microprocessor is a computer processor where the data processing logic and control is included on a single integrated circuit, or a small number of integrated circuits. The microprocessor contains the arithmetic, logic, and control circ ...
. It was purchased by Radisys Corp in 2001, and was purchased again in 2013 by its current owner Microware LP. The OS-9 family was popular for general-purpose computing and remains in use in commercial
embedded system An embedded system is a computer system—a combination of a computer processor, computer memory, and input/output peripheral devices—that has a dedicated function within a larger mechanical or electronic system. It is ''embedded ...
s and amongst hobbyists. Today, OS-9 is a product name used by both a
Motorola 68000 The Motorola 68000 (sometimes shortened to Motorola 68k or m68k and usually pronounced "sixty-eight-thousand") is a 16/32-bit complex instruction set computer (CISC) microprocessor, introduced in 1979 by Motorola Semiconductor Products Secto ...
-series
machine language In computer programming, machine code is any low-level programming language, consisting of machine language instructions, which are used to control a computer's central processing unit (CPU). Each instruction causes the CPU to perform a ver ...
OS and a portable (
PowerPC PowerPC (with the backronym Performance Optimization With Enhanced RISC – Performance Computing, sometimes abbreviated as PPC) is a reduced instruction set computer (RISC) instruction set architecture (ISA) created by the 1991 Apple– IBM– ...
, x86, ARM, MIPS, SH4, etc.) version written in C, originally known as OS-9000.


History

The first version ("OS-9 Level One"), which dates back to 1979–1980, was written in
assembly language In computer programming, assembly language (or assembler language, or symbolic machine code), often referred to simply as Assembly and commonly abbreviated as ASM or asm, is any low-level programming language with a very strong correspondence b ...
for the
Motorola 6809 The Motorola 6809 ("''sixty-eight-oh-nine''") is an 8-bit computing, 8-bit microprocessor with some 16-bit computing, 16-bit features. It was designed by Motorola's Terry Ritter and Joel Boney and introduced in 1978. Although source compatible wi ...
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 The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, inste ...
on some platforms. In 1983, OS-9/6809 was ported to
Motorola 68000 The Motorola 68000 (sometimes shortened to Motorola 68k or m68k and usually pronounced "sixty-eight-thousand") is a 16/32-bit complex instruction set computer (CISC) microprocessor, introduced in 1979 by Motorola Semiconductor Products Secto ...
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 The Intel 386, originally released as 80386 and later renamed i386, is a 32-bit microprocessor introduced in 1985. The first versions had 275,000 transistorsPowerPC PowerPC (with the backronym Performance Optimization With Enhanced RISC – Performance Computing, sometimes abbreviated as PPC) is a reduced instruction set computer (RISC) instruction set architecture (ISA) created by the 1991 Apple– IBM– ...
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 The Motorola 68000 series (also known as 680x0, m68000, m68k, or 68k) is a family of 32-bit complex instruction set computer (CISC) microprocessors. During the 1980s and early 1990s, they were popular in personal computers and workstations an ...
and
80386 The Intel 386, originally released as 80386 and later renamed i386, is a 32-bit microprocessor introduced in 1985. The first versions had 275,000 transistorsMPUs 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 Reentrant or re-entrant can refer to: *Re-entrant (landform), the low ground formed between two hill spurs. *Reentrancy (computing) in computer programming * Reentrant mutex in computer science *Reentry (neural circuitry) in neuroscience * Salien ...
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 In computing, position-independent code (PIC) or position-independent executable (PIE) is a body of machine code that, being placed somewhere in the primary memory, executes properly regardless of its absolute address. PIC is commonly used fo ...
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 Motorola, Inc. () was an American multinational telecommunications company based in Schaumburg, Illinois, United States. After having lost $4.3 billion from 2007 to 2009, the company split into two independent public companies, Motorola ...
EXORbus systems using the
Motorola 6809 The Motorola 6809 ("''sixty-eight-oh-nine''") is an 8-bit computing, 8-bit microprocessor with some 16-bit computing, 16-bit features. It was designed by Motorola's Terry Ritter and Joel Boney and introduced in 1978. Although source compatible wi ...
,
SS-50 Bus The SS-50 bus was an early computer bus designed as a part of the SWTPC 6800 Computer System that used the Motorola 6800 CPU. The SS-50 motherboard would have around seven 50-pin connectors for CPU and memory boards plus eight 30-pin connectors f ...
and SS-50C bus systems from companies such as SWTPC, Tano, Gimix,
Midwest Scientific Midwest Scientific Instruments, Inc. (MSI), often shortened to Midwest Scientific, was an American computer company founded in Olathe, Kansas, in the early 1970s. Charles C. Childress, a doctorate of biochemistry, founded the company as a way to ...
, and Smoke Signal Broadcasting, STD-bus 6809 systems from several suppliers, personal computers such as the
Fujitsu is a Japanese multinational information and communications technology equipment and services corporation, established in 1935 and headquartered in Tokyo. Fujitsu is the world's sixth-largest IT services provider by annual revenue, and the la ...
FM-11 The FM-11 (Fujitsu Micro 11) was a business computer announced by Fujitsu in November 1982. It is a higher-end model of their previous FM-8 computer, and was released simultaneously with the mass-market FM-7 machine. The FM-11 series was intend ...
, FM-8, FM-7 and FM-77,
Hitachi () is a Japanese multinational conglomerate corporation headquartered in Chiyoda, Tokyo, Japan. It is the parent company of the Hitachi Group (''Hitachi Gurūpu'') and had formed part of the Nissan ''zaibatsu'' and later DKB Group and Fuyo G ...
MB-S1, 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 Quarter inch cartridge tape (abbreviated QIC, commonly pronounced "quick") is a magnetic tape data storage format introduced by 3M in 1972, with derivatives still in use as of 2016. QIC comes in a rugged enclosed package of aluminum and plastic t ...
)
tape backup A tape drive is a data storage device that reads and writes data on a magnetic tape. Magnetic tape data storage is typically used for offline, archival data storage. Tape media generally has a favorable unit cost and a long archival stability. A ...
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 A dragon is a reptilian legendary creature that appears in the folklore of many cultures worldwide. Beliefs about dragons vary considerably through regions, but dragons in western cultures since the High Middle Ages have often been depicted a ...
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. A second processor implementation for the
BBC Micro The British Broadcasting Corporation Microcomputer System, or BBC Micro, is a series of microcomputers and associated peripherals designed and built by Acorn Computers in the 1980s for the BBC Computer Literacy Project. Designed with an emphas ...
was produced by Cumana. It included on-board RAM,
SCSI Small Computer System Interface (SCSI, ) is a set of standards for physically connecting and transferring data between computers and peripheral devices. The SCSI standards define commands, protocols, electrical, optical and logical interface ...
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 A spreadsheet is a computer application for computation, organization, analysis and storage of data in tabular form. Spreadsheets were developed as computerized analogs of paper accounting worksheets. The program operates on data entered in ...
, the VED text formatter, and the Stylograph and Screditor-3
WYSIWYG In computing, WYSIWYG ( ), an acronym for What You See Is What You Get, is a system in which editing software allows content to be edited in a form that resembles its appearance when printed or displayed as a finished product, such as a printed d ...
word processor A word processor (WP) is a device or computer program that provides for input, editing, formatting, and output of text, often with some additional features. Early word processors were stand-alone devices dedicated to the function, but current ...
s. TSC's
nroff nroff (short for "new roff") is a text-formatting program on Unix and Unix-like operating systems. It produces output suitable for simple fixed-width printers and terminal windows. It is an integral part of the Unix help system, being used t ...
emulating formatter was ported to OS-9 by MicroWay, as well. In mid 1980s, OS-9 was selected for the
CD-i The Compact Disc-Interactive (CD-I, later CD-i) is a Digital media, digital optical disc data storage device, data storage format that was mostly developed and marketed by Dutch company Philips. It was created as an extension of Compact Disc Di ...
operating system. Around the same time,
Microsoft Microsoft Corporation is an American multinational technology corporation producing computer software, consumer electronics, personal computers, and related services headquartered at the Microsoft Redmond campus located in Redmond, Washi ...
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 The Motorola 68000 series (also known as 680x0, m68000, m68k, or 68k) is a family of 32-bit complex instruction set computer (CISC) microprocessors. During the 1980s and early 1990s, they were popular in personal computers and workstations an ...
family CPUs,
Intel 80386 The Intel 386, originally released as 80386 and later renamed i386, is a 32-bit microprocessor introduced in 1985. The first versions had 275,000 transistorsPowerPC PowerPC (with the backronym Performance Optimization With Enhanced RISC – Performance Computing, sometimes abbreviated as PPC) is a reduced instruction set computer (RISC) instruction set architecture (ISA) created by the 1991 Apple– IBM– ...
. 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. That the Motorola 680x0 family and VME board computer system vendors were nearing their end of life might have affected the unpopularity of OS-9000/680x0. 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

In 1999, nineteen years after the first release of OS-9,
Apple Computer Apple Inc. is an American multinational technology company headquartered in Cupertino, California, United States. Apple is the largest technology company by revenue (totaling in 2021) and, as of June 2022, is the world's biggest company ...
released
Mac OS 9 Mac OS 9 is the ninth major release of Apple's classic Mac OS operating system which was succeeded by Mac OS X (renamed to OS X in 2011 and macOS in 2016) in 2001. Introduced on October 23, 1999, it was promoted by Apple as "The Best Internet ...
. Microware sued Apple that year for trademark infringement, although a judge ruled that there would be little chance for confusion between the two. Some Macintosh users who are unaware of Microware's lesser known OS-9 have posted to the comp.os.os9 newsgroup not realizing what OS-9 is. In 2001, RadiSys purchased Microware to acquire the Intel IXP-1200 network processor resources. This acquisition infused Microware with capital and allowed Microware to continue OS-9 development and support. On 21 February 2013, Microware LP (a partnership formed by Freestation of Japan, Microsys Electronics of Germany and RTSI LLC of the USA) announced that they signed an Asset Purchase Agreement to buy the rights to the names Microware, OS-9 and all assets from RadiSys.


Technology


Modern and archaic design

OS-9 (especially the 68k version and thereafter) clearly distinguishes itself from the prior generation of embedded operating systems in many aspects. * Runs on 8-bit, 16-bit, and 32-bit CPUs. * Clear separation between
user mode A modern computer operating system usually segregates virtual memory into user space and kernel space. Primarily, this separation serves to provide memory protection and hardware protection from malicious or errant software behaviour. Kernel ...
and supervisor (kernel) mode. * Dynamic use of individually and separately built software components (executable program images and kernel modules) rather than a
statically linked A stand-alone program, also known as a freestanding program, is a computer program that does not load any external module, library function or program and that is designed to boot with the bootstrap procedure of the target processor – it runs o ...
single monolithic image. * Unix-like process name-space model (not memory model) and user shell program. * Clear separation between hardware independent (e.g. file managers) and hardware dependent (e.g.
device driver In computing, a device driver is a computer program that operates or controls a particular type of device that is attached to a computer or automaton. A driver provides a software interface to hardware devices, enabling operating systems and o ...
s) layers. When compared with more modern operating systems: * The kernel is written entirely in
assembly language In computer programming, assembly language (or assembler language, or symbolic machine code), often referred to simply as Assembly and commonly abbreviated as ASM or asm, is any low-level programming language with a very strong correspondence b ...
(OS-9/68K version only) and C (portable version to other architectures) using simple internal data structures, reducing flexibility and improvement scope while improving determinability required for
real-time operating system A real-time operating system (RTOS) is an operating system (OS) for real-time applications that processes data and events that have critically defined time constraints. An RTOS is distinct from a time-sharing operating system, such as Unix, which m ...
s. * Performance was also affected for some operations, but assembly language helped with the speed issue. * Systems without a
memory management unit A memory management unit (MMU), sometimes called paged memory management unit (PMMU), is a computer hardware unit having all memory references passed through itself, primarily performing the translation of virtual memory addresses to physical a ...
(MMU) have no memory protection against illegal access, nor per-process memory protection, while systems with an MMU can have memory protection enabled. The module controlling the MMU can be included or omitted by the system integrator to enable or disable memory protection. This allows OS-9 to run on older systems which do not include an MMU. * Older versions of OS-9 do not support
POSIX threads POSIX Threads, commonly known as pthreads, is an execution model that exists independently from a language, as well as a parallel execution model. It allows a program to control multiple different flows of work that overlap in time. Each flow of ...
, while all OS-9 supported processors support POSIX threads. * No SMP support for multiple sockets, cores, or hardware threads in the same OS-9 instance (can run as a RTOS on one of the cores of dual core processors like
Core Duo Intel Core is a line of streamlined midrange consumer, workstation and enthusiast computer central processing units (CPUs) marketed by Intel Corporation. These processors displaced the existing mid- to high-end Pentium processors at the time o ...
and Core 2 Duo, when
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, whi ...
is running on the other core doing general purpose tasks).


Task scheduling

OS-9's real-time kernel allows multiple independent applications to execute simultaneously through task switching and inter-process communication facilities. All OS-9 programs run as processes containing at least one lightweight process (thread) but may contain an effectively unlimited number of threads. Within a process, these lightweight processes share memory, I/O paths, and other resources in accordance with the POSIX threads specification and API. OS-9 schedules the threads using a fixed-priority preemptive scheduling algorithm with round-robin scheduling within each priority. Time slicing is supported. The priority levels can be divided into a range that supports
aging Ageing ( BE) or aging ( AE) is the process of becoming older. The term refers mainly to humans, many other animals, and fungi, whereas for example, bacteria, perennial plants and some simple animals are potentially biologically immortal. In ...
and a higher-priority range that uses strict priority scheduling. Each process can access any system resource by issuing the appropriate OS-9 service request. At every scheduling point, OS-9 compares the priority of the thread at the head of the active queue to the priority of the current thread. It context switches to the thread on the active queue if its priority is higher than the current processes' priority. Aging artificially increases the effective priority of threads in the active queue as time passes. At defined intervals, time slicing returns the current thread to the active queue behind other threads at the same priority.


Kernel modules

* Kernel – Contains task switching, memory allocation, and most non-I/O calls * IOMAN – Handles I/O calls to various file managers and drivers. *File managers basic set: ** SCF, Serial files (serial devices) ** RBF, Random block (disk devices) ** SBF, Sequential block (tape Devices) ** NFM, NULL devices (USB and other devices) ** MFM, Message ** PCF, PC FAT files ** PIPEMAN,
Pipe Pipe(s), PIPE(S) or piping may refer to: Objects * Pipe (fluid conveyance), a hollow cylinder following certain dimension rules ** Piping, the use of pipes in industry * Smoking pipe ** Tobacco pipe * Half-pipe and quarter pipe, semi-circular ...
manager ** Modman - Memory module directories * SSM – System security (MMU handling) * Cache – Cache handling, * VectXXX – Vector / PIC handler * FPU –
Floating point emulation Floating may refer to: * a type of dental work performed on horse teeth * use of an isolation tank * the guitar-playing technique where chords are sustained rather than scratched * ''Floating'' (play), by Hugh Hughes * Floating (psychological ph ...
* Align – Address alignment fault handler


Commands

The following list of commands is supported by the OS-9 shell. Shell built-in commands * chd * chx *
kill Kill often refers to: *Homicide, one human killing another *cause death, to kill a living organism, to cause its death Kill may also refer to: Media *'' Kill!'', a 1968 film directed by Kihachi Okamoto * ''Kill'' (Cannibal Corpse album), 2006 * ...
* w * wait * setenv * unsetenv * setpr *
logout In computer security, logging in (or logging on, signing in, or signing on) is the process by which an individual gains access to a computer system by identifying and authenticating themselves. The user credentials are typically some form ...
* profile * ex * -e * -ne * -p * -p= * -np * -t * -nt * -v * -nv * -x * -nx Utilities for operating system functions * attr * copy * date * deiniz *
del Del, or nabla, is an operator used in mathematics (particularly in vector calculus) as a vector differential operator, usually represented by the nabla symbol ∇. When applied to a function defined on a one-dimensional domain, it denotes ...
* deldir * dsave * dump *
echo In audio signal processing and acoustics, an echo is a reflection of sound that arrives at the listener with a delay after the direct sound. The delay is directly proportional to the distance of the reflecting surface from the source and the lis ...
* fixmod * free * ident * iniz * link * list * load * makdir * mdir * merge * mfree * pd * pr * printenv * procs *
rename Rename may refer to: * Rename (computing), rename of a file on a computer * RENAME (command), command to rename a file in various operating systems * Rename (relational algebra), unary operation in relational algebra * Company renaming, rename ...
* save * shell * setime *
sleep Sleep is a sedentary state of mind and body. It is characterized by altered consciousness, relatively inhibited Perception, sensory activity, reduced muscle activity and reduced interactions with surroundings. It is distinguished from wakefuln ...
* tee * tmode *
touch In physiology, the somatosensory system is the network of neural structures in the brain and body that produce the perception of touch ( haptic perception), as well as temperature ( thermoception), body position (proprioception), and pain. It ...
* unlink System management utilities *
backup In information technology, a backup, or data backup is a copy of computer data taken and stored elsewhere so that it may be used to restore the original after a data loss event. The verb form, referring to the process of doing so, is "back up", ...
* dcheck * devs *
format Format may refer to: Printing and visual media * Text formatting, the typesetting of text elements * Paper formats, or paper size standards * Newspaper format, the size of the paper page Computing * File format, particular way that informatio ...
* frestore * fsave * irqs *
login In computer security, logging in (or logging on, signing in, or signing on) is the process by which an individual gains access to a computer system by identifying and authenticating themselves. The user credentials are typically some fo ...
* os9gen * tsmon * xmode General utilities * binex * build * cfp * cmp * code * compress * count * edt * exbin * expand *
grep grep is a command-line utility for searching plain-text data sets for lines that match a regular expression. Its name comes from the ed command ''g/re/p'' (''globally search for a regular expression and print matching lines''), which has the sa ...
*
help Help is a word meaning to give aid or signal distress. Help may refer to: Arts, entertainment, and media Films * ''Help'' (2010 film), a Bollywood horror film * ''Help'' (2021 theatrical film), a British psychological thriller film * '' ...
* make *
qsort qsort is a C standard library function that implements a polymorphic sorting algorithm for arrays of arbitrary objects according to a user-provided comparison function. It is named after the "quicker sort" algorithm (a quicksort variant due to R ...
* tr * umacs


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. Firstly, the
file system In computing, file system or filesystem (often abbreviated to fs) is a method and data structure that the operating system uses to control how data is stored and retrieved. Without a file system, data placed in a storage medium would be one larg ...
is not a single tree, but instead is a forest with each tree corresponding to a device. Second, 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, performing much the same function as a fork-exec or a
spawn Spawn or spawning may refer to: * Spawn (biology), the eggs and sperm of aquatic animals Arts, entertainment, and media * Spawn (character), a fictional character in the comic series of the same name and in the associated franchise ** '' Spawn: A ...
. Additionally, 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 (which is similar to the use of PATH
environment variable An environment variable is a dynamic-named value that can affect the way running processes will behave on a computer. They are part of the environment in which a process runs. For example, a running process can query the value of the TEMP envi ...
under UNIX). The other is the current data directory. Another difference is that in OS-9, grandparent directories can be indicated by repeating periods three or more times, without any intervening slashes (a feature also found in
4DOS 4DOS is a command-line interpreter by JP Software, designed to replace the default command interpreter COMMAND.COM in Microsoft DOS and Windows. It was written by Rex C. Conn and Tom Rawson and first released in 1989. Compared to the default, ...
/
4OS2 4OS2 is the OS/2 analogue of 4NT and 4DOS by JP Software, Inc. JP Software discontinued 4OS2, TCMDOS2 and TCMD16, making version 3.0, 2.0, 2.0 the final version of these. The code for 4OS2 has been released, and is maintained, first by Sci ...
/ 4NT/ TC). For example, ..../file in OS-9, is similar to ../../../file in Unix. But . and .., with just one or two periods, each work the same in both OS-9 and Unix. OS-9 has had a modular design from the beginning, influenced by notions of the designers of the
6809 The Motorola 6809 ("''sixty-eight-oh-nine''") is an 8-bit microprocessor with some 16-bit features. It was designed by Motorola's Terry Ritter and Joel Boney and introduced in 1978. Although source compatible with the earlier Motorola 6800, the ...
and how they expected software would be distributed in the future (see the three-part series of articles in January-March 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 alternative 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 POSIX Threads, commonly known as pthreads, is an execution model that exists independently from a language, as well as a parallel execution model. It allows a program to control multiple different flows of work that overlap in time. Each flow of ...
. A single process can start any number of threads.


Status

OS-9 has faded from popular use, though Microware LP does still support it and it does run on modern architectures such as ARM and x86. The compiler provided, Ultra C/C++, supports C89, but supports neither C99 nor C++98. Ultra C++ does provide limited support for C++ templates. It is also supported by popular SSL/TLS libraries such as wolfSSL. * A Version of OS-9 running Steve Adams' G-Windows is present on semiconductor wafer scrubbers manufactured by Ontrak Systems / Lam Research. Thousands of these systems are in use today, however, the software running on them dates to 1999 when the last version was created to handle Y2K issues. * Versions of OS-9/68K ran on a wide variety of
68000 family The Motorola 68000 series (also known as 680x0, m68000, m68k, or 68k) is a family of 32-bit complex instruction set computer (CISC) microprocessors. During the 1980s and early 1990s, they were popular in personal computers and workstations an ...
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 Modular Computers, and Delmar Co.) It was also ported to the
Atari ST The Atari ST is a line of personal computers from Atari Corporation and the successor to the Atari 8-bit family. The initial model, the Atari 520ST, had limited release in April–June 1985 and was widely available in July. It was the first per ...
by Recc-o-ware in the early 1990s, and was distributed by Cumana in Europe. A port for 68000-based
Apple Macintosh The Mac (known as Macintosh until 1999) is a family of personal computers designed and marketed by Apple Inc. Macs are known for their ease of use and minimalist designs, and are popular among students, creative professionals, and software ...
es distributed by Ultrascience exists. A port to the
Amiga Amiga is a family of personal computers introduced by Commodore International, Commodore in 1985. The original model is one of a number of mid-1980s computers with 16- or 32-bit processors, 256 KB or more of RAM, mouse-based GUIs, and sign ...
by Digby Tarvin is also purported to exist. * OS-9/68K is mandated by
Caltrans The California Department of Transportation (Caltrans) is an executive department of the U.S. state of California. The department is part of the cabinet-level California State Transportation Agency (CalSTA). Caltrans is headquartered in Sacrame ...
to be used in the 2070-1B and 2070-1E controller cards, and so ends up being used to run many North American traffic signal control systems. * OS-9/68K is also found in some other 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. * In the embedded market, where OS-9 has found application in such devices as the
Fairlight CMI The Fairlight CMI (short for Computer Musical Instrument) is a digital synthesizer, sampler, and digital audio workstation introduced in 1979 by Fairlight. — with links to some Fairlight history and photos It was based on a commercial lic ...
synthesizers, robotics, in-car navigation systems, and
Philips Koninklijke Philips N.V. (), commonly shortened to Philips, is a Dutch multinational conglomerate corporation that was founded in Eindhoven in 1891. Since 1997, it has been mostly headquartered in Amsterdam, though the Benelux headquarters is ...
' Compact Disc-Interactive (
CD-i The Compact Disc-Interactive (CD-I, later CD-i) is a Digital media, digital optical disc data storage device, data storage format that was mostly developed and marketed by Dutch company Philips. It was created as an extension of Compact Disc Di ...
) industry standard. * The TRS-80 Color Computer (and clones) still has users and an annual conference in Chicago; as of 2018 the 27th Annual "Last" Chicago CoCoFEST was scheduled for 21-22 April 2018. 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 In computing, native software or data-formats are those that were designed to run on a particular operating system. In a more technical sense, native code is code written specifically for a certain processor. In contrast, cross-platform software ...
of the
Hitachi 6309 The 6309 is Hitachi's CMOS version of the Motorola 6809 microprocessor, released in late 1982. It was initially marketed as a low-power version of the 6809, without reference to its many internal improvements. While in "Emulation Mode" it is f ...
. Today's serious CoCo users now typically have replaced the 68B09E in the CoCo 3 with an Hitachi 63B09E and run the rewrite, called NitrOS-9. The combination is surprisingly fast, considering that it runs on an expressly low cost, 8-bit computer system. * Gary Becker's CoCo3 FPGA is a synthesized TRS-80 Color Computer which runs NitrOS-9 on an Altera DE-1 development board. The core 6809 CPU was designed by John Kent and is currently running at 25 MHz. * 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 PowerPC (with the backronym Performance Optimization With Enhanced RISC – Performance Computing, sometimes abbreviated as PPC) is a reduced instruction set computer (RISC) instruction set architecture (ISA) created by the 1991 Apple– IBM– ...
, MIPS, some versions of
Advanced RISC Machines Arm is a British semiconductor and software design company based in Cambridge, England. Its primary business is in the design of ARM processors (CPUs). It also designs other chips, provides software development tools under the DS-5, RealView a ...
' ARM processor, and some of the Hitachi SH family of processors. * Th
DigiCart/II Plus
audio playback unit runs OS-9/68K. It is a solid state replacement for radio station style
cart A cart or dray (Australia and New Zealand) is a vehicle designed for transport, using two wheels and normally pulled by one or a pair of draught animals. A handcart is pulled or pushed by one or more people. It is different from the flatbed ...
players. These units are used in radio and at places like Walt Disney World where they play park announcements. * German electronics manufacturer Eltec has been manufacturing the Eurocom-model CPU boards for industrial purposes since the late 1970s, starting with the 6802 and
6809 The Motorola 6809 ("''sixty-eight-oh-nine''") is an 8-bit microprocessor with some 16-bit features. It was designed by Motorola's Terry Ritter and Joel Boney and introduced in 1978. Although source compatible with the earlier Motorola 6800, the ...
Eurocom-1 and Eurocom-2, and onwards with 68K, and derivative, CPU boards up to today. The modern boards can be delivered with a range of operating systems, amongst which is OS-9. * Omron used OS-9 in their NS series HMI panels. However, for their new NA series, Omron selected
Windows Embedded Compact 7 Windows Embedded Compact 7 (formerly known as Windows Embedded CE 7.0) is the seventh major release of the Windows Embedded CE operating system, released on March 1, 2011. Windows Embedded Compact 7 is a real-time OS, separate from the Window ...
. Omron indicated that with OS-9 nearly all the drivers, for example for a USB stick, had to be written by Omron.


References


Further reading

* * *


External links


Microware LP

DTR - Access OS-9 Disk on PC




from RTSI LLC. *
Repository for command line tools for manipulating 6809 OS-9 disk images
on
SourceForge SourceForge is a web service that offers software consumers a centralized online location to control and manage open-source software projects and research business software. It provides source code repository hosting, bug tracking, mirroring ...

Execution environment for OS-9 user-mode programs on Mac/Win/linux host OS

NitrOS-9 official website
on
SourceForge SourceForge is a web service that offers software consumers a centralized online location to control and manage open-source software projects and research business software. It provides source code repository hosting, bug tracking, mirroring ...

An OS-9 Port to the Thomson MO5
(fr)
Running OS-9 on a TRS-80 Color Computer (CoCo)

comp.os.os9 newsgroup
via Google groups web interface.
Official OS-9 Blog

A 6809 Emulator based on the SWTPC 6809 system that runs OS9 and UniFLEX as well as FLEX

XiBase9
(a GUI)
DragonWiki
{{DEFAULTSORT:Os-9 Real-time operating systems Embedded operating systems TRS-80 Color Computer ARM operating systems X86 operating systems PowerPC operating systems Proprietary operating systems