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 Multi-user software is computer software that allows access by multiple users of a computer. Time-sharing systems are multi-user systems. Most batch processing systems for mainframe computers may also be considered "multi-user", to avoid leaving t ...
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs. Time-sharing operating systems schedule tasks for efficient use of the system and may also in ...
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 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 6 ...
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 circu ...
. It was purchased by Radisys Corp in 2001, and was purchased again in 2013 by its current owner
Microware LP Microware Systems Corporation was an American software company based in Clive, Iowa, that produced the OS-9 real-time operating system. Microware Systems Corporation existed as a separate entity from 1977 until September 2001, when it was bought ...
. 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'' as ...
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 Sector ...
-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 very ...
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 Inc., App ...
,
x86 x86 (also known as 80x86 or the 8086 family) is a family of complex instruction set computer (CISC) instruction set architectures initially developed by Intel based on the Intel 8086 microprocessor and its 8088 variant. The 8086 was introd ...
,
ARM In human anatomy, the arm refers to the upper limb in common usage, although academically the term specifically means the upper arm between the glenohumeral joint (shoulder joint) and the elbow joint. The distal part of the upper limb between the ...
, 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 be ...
for the
Motorola 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 6 ...
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 BASIC09 is a structured BASIC programming language dialect developed by Microware on behalf of Motorola for the then-new Motorola 6809 CPU and released in February 1980. It is primarily used with the OS-9 operating system, released in 1979. Microw ...
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 Sector ...
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 Inc., App ...
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 and ...
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 *Salients ...
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 for ...
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 corporation, 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 p ...
EXORbus systems using the
Motorola 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 6 ...
,
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 Southwest Technical Products Corporation, or SWTPC, was an American producer of electronic kits, and later complete computer systems. It was incorporated in 1967 in San Antonio, Texas, succeeding the Daniel E. Meyer Company. In 1990, SWTPC beca ...
, 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 Smoke is a suspension of airborne particulates and gases emitted when a material undergoes combustion or pyrolysis, together with the quantity of air that is entrained or otherwise mixed into the mass. It is commonly an unwanted by-product ...
, 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 inten ...
,
FM-8 The FM-8 (Fujitsu Micro 8) is a personal computer developed and manufactured by Fujitsu in May 1981. It was Fujitsu's second microcomputer released to the public after the LKIT-8 kit computer, and the first in the "FM" series. The FM-8 was an e ...
,
FM-7 The FM-7 ("Fujitsu Micro 7") is a home computer created by Fujitsu. It was first released in 1982 and was sold in Japan and Spain. It is a stripped-down version of Fujitsu's earlier FM-8 computer, and during development it was referred to as the ...
and FM-77,
Hitachi () is a Japanese multinational corporation, multinational Conglomerate (company), 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 Ni ...
MB-S1, and many others.
System Industries System Industries, Inc., was an American computer hardware company active from 1968 to 1993. It produced printers and disk drives for minicomputers. History The firm was founded in 1968 by Ed Zschau with backing from Brentwood Associates, a pr ...
, 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 VAX (an acronym for Virtual Address eXtension) is a series of computers featuring a 32-bit instruction set architecture (ISA) and virtual memory that was developed and sold by Digital Equipment Corporation (DEC) in the late 20th century. The VA ...
installations. The best known hardware (due to its low price and broad distribution) was the
TRS-80 Color Computer The RadioShack TRS-80 Color Computer, later marketed as the Tandy Color Computer and sometimes nicknamed the CoCo, is a line of home computers developed and sold by Tandy Corporation. Despite sharing a name with the earlier TRS-80, the Color Co ...
(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 as ...
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 cel ...
, 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. Word processor (electronic device), Early word processors were stand-alone devices ded ...
s.
TSC TSC may refer to: Organizations * Technology Service Corporation, a US engineering company * Terrorist Screening Center, a division of the National Security Branch of the US Federal Bureau of Investigation * The Shopping Channel, a Canadian televi ...
'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 to fo ...
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, Washing ...
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 and w ...
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 Inc., App ...
. 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 b ...
released
Mac OS 9 Mac OS 9 is the ninth major release of Apple Inc., Apple's classic Mac OS operating system which was succeeded by macOS, 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 "T ...
. 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 Radisys Corporation is an American technology company located in Hillsboro, Oregon, United States that makes technology used by telecommunications companies in mobile networks. Founded in 1987 in Oregon by former employees of Intel, the company we ...
purchased
Microware Microware Systems Corporation was an American software company based in Clive, Iowa, that produced the OS-9 real-time operating system. Microware Systems Corporation existed as a separate entity from 1977 until September 2001, when it was bought ...
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 Radisys Corporation is an American technology company located in Hillsboro, Oregon, United States that makes technology used by telecommunications companies in mobile networks. Founded in 1987 in Oregon by former employees of Intel, the company we ...
.


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 CPU In computer architecture, 32-bit computing refers to computer systems with a processor, memory, and other major system components that operate on data in 32-bit units. Compared to smaller bit widths, 32-bit computers can perform large calculation ...
s. * 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 module In computing, a loadable kernel module (LKM) is an object file that contains code to extend the running kernel, or so-called ''base kernel'', of an operating system. LKMs are typically used to add support for new hardware (as device drivers) and/ ...
s) rather than a statically linked 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 ot ...
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 be ...
(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 ad ...
(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 ...
and
Core 2 Duo Intel Core is a line of streamlined midrange consumer, workstation and enthusiast computer central processing units (CPUs) marketed by Intel, Intel Corporation. These processors displaced the existing mid- to high-end Pentium processors at the ...
, 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, which ...
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 In nutrition science, nutrition, biology, and chemistry, fat usually means any ester of fatty acids, or a mixture of such chemical compound, compounds, most commonly those that occur in living beings or in food. The term often refers spec ...
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-circula ...
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 phe ...
* 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 Wait or WAIT may refer to: Music * Wait (musician), British town pipers Albums and EPs * ''Wait'' (The Polyphonic Spree EP), by The Polyphonic Spree * ''Wait'' (Emanuel Nice EP), a 2002 EP released by the band Emanuel Nice * ''Wait'' (Stee ...
* 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 Copy may refer to: *Copying or the product of copying (including the plural "copies"); the duplication of information or an artifact **Cut, copy and paste, a method of reproducing text or other data in computing **File copying **Photocopying, a pr ...
*
date Date or dates may refer to: *Date (fruit), the fruit of the date palm (''Phoenix dactylifera'') Social activity *Dating, a form of courtship involving social activity, with the aim of assessing a potential partner **Group dating *Play date, an ...
* 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 th ...
* 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 list ...
* 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) In relational algebra, a rename is a unary operation written as \r ...
* save *
shell Shell may refer to: Architecture and design * Shell (structure), a thin structure ** Concrete shell, a thin shell of concrete, usually with no interior columns or exterior buttresses ** Thin-shell structure Science Biology * Seashell, a hard ou ...
* setime *
sleep Sleep is a sedentary state of mind and body. It is characterized by altered consciousness, relatively inhibited sensory activity, reduced muscle activity and reduced interactions with surroundings. It is distinguished from wakefulness by a de ...
*
tee A tee is a stand used in sport to support and elevate a stationary ball prior to striking with a foot, club or bat. Tees are used extensively in golf, tee-ball, baseball, American football, and rugby. Etymology The word tee is derived from the ...
* 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 is ...
* 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", w ...
* 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 form ...
* os9gen * tsmon * xmode General utilities * binex * build * cfp * cmp * code *
compress compress is a Unix shell compression program based on the LZW compression algorithm. Compared to more modern compression utilities such as gzip and bzip2, compress performs faster and with less memory usage, at the cost of a significantly l ...
* 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 sam ...
*
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 Make or MAKE may refer to: *Make (magazine), a tech DIY periodical *Make (software), a software build tool *Make, Botswana, in the Kalahari Desert *Make Architects Make Architects is an international architecture practice headquartered in London ...
*
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: Ar ...
. 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 env ...
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 SciTech ...
/ 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 C99 (previously known as C9X) is an informal name for ISO/IEC 9899:1999, a past version of the C programming language standard. It extends the previous version ( C90) with new features for the language and the standard library, and helps impl ...
nor
C++98 C98 or C-98 may refer to: * C-98 Clipper, the military designation of the Boeing 314 flying boat * CJYC-FM, "Big John FM", formerly known as "C98" * Cray C98, a model of the Cray C90 * Ruy Lopez (ECO code), a chess opening * Lake Village Airport (F ...
. Ultra C++ does provide limited support for C++ templates. It is also supported by popular
SSL/TLS Transport Layer Security (TLS) is a cryptographic protocol designed to provide communications security over a computer network. The protocol is widely used in applications such as email, instant messaging, and voice over IP, but its use in securi ...
libraries such as
wolfSSL wolfSSL is a small, portable, embedded SSL/TLS library targeted for use by embedded systems developers. It is an open source implementation of TLS (SSL 3.0, TLS 1.0, 1.1, 1.2, 1.3, and DTLS 1.0, 1.2, and 1.3) written in the C programming lan ...
. * 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 and w ...
platforms, including the
Sharp X68000 The is a home computer created by Sharp Corporation. It was first released in 1987 and sold only in Japan. The initial model has a 10 MHz Motorola 68000 CPU, 1 MB of RAM, and lacks a hard drive. The final model was released in 1993 wit ...
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 pers ...
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 en ...
es distributed by Ultrascience exists. A port to the
Amiga Amiga is a family of personal computers introduced by 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 significantly improved graphi ...
by Digby Tarvin is also purported to exist. * OS-9/68K is mandated by
Caltrans The California Department of Transportation (Caltrans) is an Executive (government), executive department of the U.S. state of California. The department is part of the Government of California#State agencies, cabinet-level California State Tran ...
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 i ...
' 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 The RadioShack TRS-80 Color Computer, later marketed as the Tandy Color Computer and sometimes nicknamed the CoCo, is a line of home computers developed and sold by Tandy Corporation. Despite sharing a name with the earlier TRS-80, the Color Co ...
(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 c ...
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 Inc., App ...
, MIPS, some versions of Advanced RISC Machines'
ARM In human anatomy, the arm refers to the upper limb in common usage, although academically the term specifically means the upper arm between the glenohumeral joint (shoulder joint) and the elbow joint. The distal part of the upper limb between the ...
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 tr ...
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 , styled as OMRON, is a Japanese electronics company based in Kyoto, Japan. Omron was established by in 1933 (as the ''Tateishi Electric Manufacturing Company'') and incorporated in 1948. The company originated in an area of Kyoto called ""( ja ...
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 Windows NT ...
. 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, mirrorin ...

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, mirrorin ...

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