OS-9 Real Time Operating System
Description

OS-9 is a high performance multitasking operating system originally designed for Motorola's 68xx0 microprocessor family. The OS-9000 version has been ported to many different processors including ARM/StrongARM, MIPS, PowerPC, x86/Pentium, and many others.
Feature highlights
- Supports 68xx0, x86/Pentium, ARM, and many other processors
- Real-time, multitasking and multi-user kernel
- Priority-based preemptive task scheduling
- Multilevel prioritized interrupt handling
- Use of reentrant, position independent code
- Dynamic loading and unlinking of system modules
- Supports several inter-task communication mechanisms
- Pipes: FIFO buffers
- Signals: process-triggered "software interrupts"
- Events: semaphore mechanism for task synchronization
- Data modules: globally shared memory
- Hardware independent input/output system
- Hierarchical file directory structure
- Support for arithmetic and I/O coprocessors
- Full support for networking (TCP/IP, NFS, sockets, etc...)
- Support for graphics and windowing environment
- C compilers, assembler, debuggers and third party tools available
- Versatile, 100% ROMable, modular design
Architecture
The OS-9/9000 RTOS follows a very flexible, highly customizable layered modular architecture composed of a real-time microkernel, I/O and file managers, device drivers and descriptors. The system can be stripped down to keep only the modules actually required to run a specific application. The operating system and application programs developed by the user can then be merged into a single file and placed in an EEPROM or in flash memory for a diskless embedded application.
OS-9 supports advanced features such as tree directories, pipes, and a powerful shell, which are similar to those available in standard UNIX systems. OS-9's C library allows programs written for UNIX to run in real-time under OS-9 with little or no modification.
Using GESPAC's G-WINDOWS windowing software, OS-9 systems are able to combine real-time control and a Graphical User Interface on a single CPU. Other alternatives such as a OS-9 port of Bellcore's MGR Window Manager are also possible. Optimized G-WINDOWS and MGR device drivers are available for Snijder Micro Systems' IP-ULCD, IP-UVGA, and IP-SVGA modules.
Development tools
The OS-9/9000 operating system provides the user with a comfortable self-hosted development environment. System development tools such as a graphical editor, macro assembler, various compilers and debuggers, allow the programmer to develop directly in the target environment. Cross development tools are also available for application development on Microsoft® Windows systems.
The development toolchain is designed to maximize developers' productivity while producing compact and efficient real-time code. Available tools include the Ultra C compiler, a source level debugger, and a macro assembler, among others. Ultra C is an advanced technology compiler that is fully ANSI and K&R C compliant, and is the first real-time compiler allowing developers to link application, library and target OS files prior to optimization. This unique feature accommodates true interprocedural and global optimization across all functions, thus producing the fastest and smallest possible code.
Additional development tools including support for other programming languages (Java, ADA, etc.) as well as system extensions and utilities may be obtained from RadiSys and from third party developers.
