You are on page 1of 33

Real-time operating systems market survey

Goal
The goal of this market survey is to provide for a list of real-time
operating systems (RTOS), with their main characteristics and links
to the vendor.

Classification of real-time operating systems


The RTOS are classified into three main categories:
Commercial: the RTOS has to be paid and there exist a
vendor which gives support.
Open source / freeware / research: the RTOS is developed
by volunteers, universities, etc. As a consequence the
RTOS is free, but there is limited support (e.g.: via mail or
newsgroups)
Not further investigated: this is an extensive list of links
which we collected. It can serve as a starting point in the
search for a particular product.
Each investigated RTOS is documented according to the following
properties:
Kernel
the kernel architecture, scheduling policies,
synchronisation primitives, standard API, etc.
Networking
what is the support to enable networking:
protocol stacks, standard networking tools, etc.
I/O
what is the support to communicate with the
environment: file support, device drivers, supported standards,
etc.
Target development
IDE, debuggers, etc.

what is the support to do development:

Java support does the vendor provide support for Java: port
of a Virtual Machine, compilers, Java libraries,
Targets

kind of processor architectures the RTOS runs on.

Note: there is no intention to provide for a complete list of RTOS.


This list is the result of an intensive Web search: all information is
provided as is, further information can always be obtained by the
vendor.

Commercial RTOS (13)


OS Name

Vendor

URL

VxWorks

Wind River Systems

www.wrs.com/products/html/vxwks54.html

Features

Networking

Kernel

Microkernel architecture
Efficient task management
multitasking, unlimited number of tasks
preemptive and round-robin scheduling
fast, deterministic context switching
256 priority levels
Fast, flexible intertask communications
binary, counting, and mutual exclusion semaphores with priority inheritance
message queues
POSIX pipes, counting semaphores, message queues, signals and scheduling
control sockets
shared memory
High scalability Incremental linking and loading of components
Fast, efficient interrupt and exception handling
Optimized floating-point support
Dynamic memory management
System clock and timing facilities
BSD 4.4 TCP/IP networking IP
IGMP, CIDR, TCP, UDP, ARP
RIP v.1/v.2
Standard Berkeley sockets, zbufs (a.k.a., zero-copy sockets)
SLIP, CSLIP, PPP
BOOTP, DNS, DHCP, TFTP
NFS, ONC RPC
FTP, rlogin, rsh, telnet
SNTP
WindNet SNMP v.1/v.2c with MIB compiler optional
WindNet OSPF v.2 optional
WindNet STREAMS SVR4 optional

I/O
Target development
Java
Targets

POSIX asynchronous I/O and directory handling


SCSI support
MS-DOS compatible file system
Raw disk file system
TrueFFS flash file system optional
ISO 9660 CD-ROM file system
PCMCIA support
Full ANSI C compliance and enhanced C++ features for exception handling and template support
Extensive POSIX 1003.1, .1b compatibility
Interactive C interpreter target shell
Symbolic debugging and disassembly
Powerful performance monitoring
Extensive kernel, task, and system information utilities
Dynamic linking loader
Libraries of over 1800 utility routines
Flexible booting from ROM, local disk, or over the network
Highly scalable design allows for wide range of applications
System-level debugging via Ethernet, serial line, ICE, or ROM emulator
Personal JWorks 3.0.2 implements Sun Microsystems Personal Java 3.0 API
Multiple Java threads operate as separate VxWorks tasks, allowing full concurrency and control
Runs PersonalJava applications and applets in embedded systems
Turnkey binary for rapid startup
Full VxWorks hard real-time capability
Provides complete VxWorks control over Java threads
Enables VxWorks tasks and Java threads to interoperate, synchronize, and communicate
Can execute out of ROM
optimized graphics support
Available for numerous CPU architectures
Uses the Tornado development environment Instrumented for use with the WindView system
visualizer
PowerPC
68K, CPU 32
ColdFire
MCORE
80x86 and Pentium
i960
ARM and StrongARM
MIPS
SH
SPARC
NEC V8xx
M32 R/D
RAD6000
ST 20
TriCore

OS Name

Vendor

URL

pSOSystem

Wind River Systems


(former Integrated
Systems)

www.isi.com/products/psosystem/index.htm

Features

Kernel

Networking

Small, fast, reliable and deterministic real-time, multi-tasking kernel


priority-based task scheduler supporting time-based and pre-emptive scheduling specified on a pertask basis
services include task management, semaphores, events, timers, fixed and variable length queues and
asynchronous signals
supports multiple regions of memory, which can be non-contiguous. Individual tasks can "own" their
own complete memory region
If a given CPU uses different running modes, pSOS+ allows developers to run tasks in either USER
mode or SUPERVISOR mode
handles interrupts externally; that is, outside of the kernel
pNA+ binary TCP/IP stack
serial line driver infrastructure for mixed asynchronous and synchronous serial protocols and
applications (DISI)
PPP, (C)SLIP, HDLC, secured PPP and Network Address Translation (NAT)
ONC/Sun Remote Procedure Calls (RPC) and the eXternal Data Representation (XDR)
specifications
FTP Client and Server; NFS Server (Client is implemented in pHILE+ file manager); TFTP Client
and Server; Telnet Client and Server; RARP; BOOTP Client and Server; DHCP and DNS resolver
HTTP server optional
SNMP optional

I/O
developmentTarget

pHILE+ component is a file system manager which provides support for four separate file systems
formats. pHILE+ supports:
A pHILE+ hierarchical UNIX-style file system format, which is optimized for real-time
operation
An MS-DOS compatible file system that supports both floppies and hard disks
The ISO 9660 CD-ROM file system
The client and server for NFS pHILE+, which permits pre-allocation of contiguous file
segments and the growth of segments beyond their original boundaries
pSOSystem's I/O supervisor provides a simple, flexible mechanism for interfacing peripheral devices to
application code. With a standard interface for device drivers, developers can write portable application
code that is not tied to a specific hardware device. While it is permissible to perform device I/O without
pSOS+ kernel intervention, device drivers that are integrated into pSOSystem's device-independent I/O
supervisor maximize application portability and ensure protection from I/O device obsolescence.
Since device drivers are hardware-dependent, the driver implementation determines the exact services
offered by a device driver. The pSOS+ kernel defines a standard set of six I/O services that a device
driver may support, and does not impose restrictions or make assumptions about the services provided by
the driver
pREPC+ ANSI C standard library (re-entrant)
advanced target and host-based debugging using the pROBE+ target resident agent
integrated development environment
team development with configuration management and version control capabilities
Available on Windows NT, Windows 95/98 and UNIX workstations

Targets

Java

No support by the company

Motorola & IBM PowerPC families (4xx, 5xx, 6xx, 7xx, 8xx)
Motorola 68xxx families including CPU32/CPU32+
Motorola ColdFire
MIPS
ARM, Thumb, and StrongARM
x86, K6, Pentium, Pentium II, Pentium III
Intel i960 family
Super Hitachi (SH)
Motorola MCORE architecture
Mitsubishi M32/R
NEC V8xx

OS Name

Vendor

URL

QNX

QNX

www.qnx.com

Features

Kernel

Networking

Microkernel architecture handles process creation, memory management, and timer control
POSIX.1b clocks and timers:
multiple timers per process
timers specified in nanosecond resolution
flexible timer control: timers can be synchronous or asynchronous; one-shot or repetitive
fully nested interrupts
dynamically attachable and removable interrupt handlers
flexible primitives for shared memory
built-in debug primitives for local and remote debugging from anywhere on the network
user-configurable system limits and resources network-wide process-naming capability
POSIX.1b realtime draft standard process scheduling:
32 priority levels
preemptive, prioritized context switching
choice of scheduling algorithms: FIFO, round robin, adaptive; all selectable per process
servers can have their priority driven by the messages they receive from clients
fully preemptive message passing
FLEET creates a single homogeneous set of resources that you can access transparently, anywhere
throughout the network. FLEET is an ultralight, high-speed networking protocol. Its innovative
and feature-rich design turns network-connected machines into a single logical supercomputer.
Because FLEET is built on the message-passing architecture of the QNX OS, it offers the ultimate
in flexibility. FLEET delivers:
Fault-tolerant networking
Load-balancing on the fly
Efficient performance
Extensible architecture
Transparent distributed processing
Tools for network maintenance:
alive
Outputs the status of all nodes in the network.
nameloc
Polls each node in the network for process names.
netboot
Accepts boot requests from machines attempting to boot over the network.
netinfo
Displays all network events and packet counts.
netmap
Loads the Network Manager's logical-to-physical node ID mapping table and controls the use
of multiple networks.
netpoll
Displays or changes a node's default virtual-circuit polling parameters.
sin
Displays system information.
who
Displays information on all user IDs accessing the network.
nettrap
Automatically locates and starts Network Manager and drivers.

I/O

POSIX filesystem, Fsys


embedded filesystem, Efsys
SMB (Server Message Block) file sharing protocol
NFS
DOS filesystem
CD-ROM filesystem
block filesystem
Dev, a high-throughput, low-overhead server that provides the interface between all processes and
terminal devices
CodeWarrior IDE for QNX
Watcom ANSI C/C++ compilers, full-screen debugger, profiler, native 80x87 support or
emulation, and over 500 ANSI, POSIX, UNIX, and QNX routines
Other interesting developers kits (for networking and GUI)

No support provided by the vendor

AMD lanSC300/310/400/410
Am386 DE/SE
Cyrix MediaGX
Intel386 EX
Intel486
ULP Intel486
Pentium (with/without MMX)
Pentium Pro
Pentium II
STPC from STMicroelectonics
All generic x86-based processors (386 and up)

Targets

Java

developmentTarget

OS Name

Vendor

URL

QNX Neutrino

QNX

www.qnx.com

Targets

Java developmentTarget

I/O

Networking Kernel

Features

microkernel delivers core realtime services for embedded applications, including message passing,
POSIX thread services, mutexes, condition variables, semaphores, signals, and scheduling
Neutrino's message-passing architecture forms a software bus that lets you plug in - or out whatever OS modules you need, without rebooting your system. From tiny kernel-only embedded
systems to powerful SMP boxes
A small implementation of TCP/IP; includes ftp, ftpd, telnet, telnetd, and more. Also supports PPP
and 802.3 networking

POSIX 1003.1 filesystem


Flash Filesystem Manager
CD-ROM Filesystem Manager
CIFS Filesystem Manager
Serial Manager
CodeWarrior IDE
Gnu tools

No support provided by the vendor

x86 - 386, i386 EX,


Am386SE/DE,
AMD lanSC400/410, 486,
Cyrix MediaGX, Pentium,
Pentium Pro, Pentium II
STPC Client, Consumer, Industrial
PowerPC - 401, 403, 603e, 604e, 750
MPC860, MPC821, MPC823
MIPS - R4000, R5000,
NEC VR4300/4102/4111, VR5000
IDT R4700
QED RM5260/5270/5261/5271

OS Name

Vendor

URL

LynxOS

Lynx Real-Time
Systems Inc.

www.lynx.com

Features

Networking

Kernel

Modular kernel technology:


Full featured kernel profile and run-time OS (footprint: 252 KB)
Embedded POSIX profile (footprint: 124 KB)
Ultra-embedded profile (footprint: 33 KB)
Hard real-time scheduling
256 global user-thread priority levels
Round-robin, quantum, and FIFO policies at each of 256 priorities
Fast context switch and short, deterministic blocking times
Pre-emptible RTOS kernel
Priority inheritance through semaphores
Priority-tracking kernel threads for preventing IO priority inversion
Counting and binary semaphores with optional priority inheritance
Mutexes, condition variables and events
Message queues, pipes and sockets
Standard and real-time POSIX queued signals
Memory-mapped files, shared memory and memory locking
Synchronous and asynchronous I/O
Parent-child synchronization
Clocks and times
POSIX protected process model
Virtual addressing and memory space protection through hardware MMU
Optional demand-paged virtual memory
Inherent software fault detection through parent-child creation hierarchy
System recovery at process termination
TCP/IP stack
IP utilities: telnet, ftp, tftp, ppp, slip
NTP support
Java enabled web browser
http servers
DHCP, bootp, ARP/RARP
DNS
POP and SMTP
Perl
ATM UNI and NNI protocols with LANE
SS7, ISDN, X.25, V5

Targets

Java

Target development

I/O

File System support:


UNIX style hierarchical file system with real-time performance enhancements
Contiguous files
Buffered, unbuffered, raw partition and raw device access
File systems and partitions of 2 Gbytes
NFS and Samba file system mounting
Utilities for DOS floppy read/write
NFS client and server
SMB (Samba) for LynxOS-Windows file systems cross mounting and printer sharing
Support for RAM and FLASH disk
Diskless operation
Device driver support:
10BaseT and 100BaseT Ethernet
SCSI interfaces (standard, wide and fast)
Simple and multi-channel serial controllers
Single and bi-directional parallel interfaces
Time-of-day clocks, timers, and watchdogs
IDE disk interfaces
High resolution video controllers
Flash memory OS booting, block interface and rotating media emulation (file system)
I2C
Intelligent interrupt controllers
The Lynx Synergy Partners Program leverages LynxOS openness to bring a wide array of partners
products to LynxOS developers. The hardware, software, and services offerings from over 100 partners
include:
Drivers for peripherals, such as DSPs, video interfaces, sound cards, intelligent serial interfaces,
and other hardware interfaces
Real-time OMG Object Request Brokers (ORBs)
CPU cards with a variety of bus interfaces and form factors, including CompactPCI, VME, PC104/104+, and PC/AT
Development tools, including C, C++, Ada, and Fortran compilers, Java, debuggers, GUI builders,
and CAD/CAE tools
Software packages and middleware for networking,
telecommunications, messaging, software test and QA, and databases
Consulting and integration services
Java Embedded VM with real-time scheduling and incremental garbage collection

Intel x86 / Pentium Family: 386/486 Pentium, Pentium Pro, Pentium II/III, and compatible 32-bit
processors
Motorola/IBM PowerPC: 601, 603, 603e, 604, and 604r, and 750
Motorola PowerQUICC MPC860, and MPC821, MPC860T, and MPC820
MIPS R5000 Family: QED 526x

OS Name

Vendor

URL

Nucleus Plus

Accelerated
Technology Inc.

www.atinucleus.com

Features

Kernel

Networking

extensive set of real-time services including task control,


task communication, task synchronization, memory management, programmable timers, and a
standard Input/Output device interface
scheduling is round-robin, time slice, fixed priority. Tasks can dynamically alter priorities.
All Nucleus PLUS objects (e.g., tasks, mailboxes, queues, pipes) can be created and deleted
dynamically
Nucleus PLUS is implemented as a C library, so only the portions of Nucleus PLUS used by your
application are incorporated into its executable image
The worst-case time required to detect a critical event is not dependent on the duration of the
worst-case thread of execution
The time each task executes is not dependent on the processing time of the other tasks
As the number of tasks increase, the time necessary to schedule them remains constant
Nucleus NET: own TCP/IP stack
For protocol-level management: Nucleus SNMP
For monitoring the physical layers: Nucleus RMON
Nucleus WebServ, Nucleus WebBrowse

developmentTarget

I/O

No info on the website

Nucleus EDE, a development environment integration with MS Development Studio


Nucleus DBUG+ and UDB for debugging

Targets

Java

Nucleus JVi is a port of Sun Microsystems Java Virtual Machine to the Nucleus PLUS
operating system.
Nucleus JVi runs as a single task in the Nucleus PLUS environment and uses Nucleus NET
TCP/IP services for access to a Web Browser, or for any other TCP/IP purpose. The task uses Java
scheduling facilities for saving and restoring Java applet threads that run independently of Nucleus
PLUS threads. Since the Java Virtual Machine runs as a single task, you can easily control its
priority and memory usage. The single-task architecture prevents the Java garbage collection
facilities from affecting the rest of your real-time applications. In other implementations, where
each Java applet is a native thread within the operating system, garbage collection can stall all
native threads while it is executing. This removes the ability for your application to run in real
time.
Intel: 8086 Real-Mode, 80186, 80386/486 Protected-Mode, i960
Hitachi: H8 / 300H, H8S, SH1, SH2, SH3, SH4
Motorola: 680x0, 683xx, 68HCxx, PowerPC, Coldfire
NEC: V25
Panasonic: MN 10200
ARM
DSPs

OS Name

Vendor

URL

VRTX

Mentor Graphics

http://www.mentor.com/embedded/

Features

Kernel

Networking

I/O

Java developmentTarget

POSIX I/O System: a module providing POSIX-compatible I/O services for a wide range of
devices
File System: an MS-DOS compatible file system
Run-time libraries: POSIX/ANSI-compatible, reentrant run-time libraries, including stdio support
fully integrated with VRTX I/O facilities
VRTX Development System
XRAY debugger
Xpert Profiler

There is Java support, but limited information available on the website

Targets

modular architecture (Nanokernel) that enables you to select only those components required by
your application
VRTX API: a Nanokernel-based implementation of the pervasive VRTX interfaces providing an
easy migration path for existing VRTX users
POSIX API: a complete, high- performance and usable library of Nanokernel-based services from
the POSIX.1 and POSIX.21 standards
preemptible system calls, preemptive deterministic scheduling, priority inheritance mutex prevents
priority inversion
MMU support
VRTX is the only commercial RTOS certifiable under the US FAAs stringent RTCA/ DO-178B
level A standard for mission-critical aerospace systems, the highest in the avionics industry
TCP/IP Networking: a full-featured TCP/IP stack featuring a wide range of applications and
protocols

Motorola 68xxx and Motorola CPU32


Motorola/IBM PowerPC
Motorola ColdFire
ARM

OS Name

Vendor

URL

OS-9

Microware

www.microware.com

Targets

Java developmentTarget

I/O

Networking

Kernel

Features

Modular structure, allowing addition of components at run-time


Process based
User state mode: running normal applications
System state mode: memory management, Inter Process Communication, privileged system
services
Use of MMU for System Security Module (SSM)
Priority based scheduling, round robin, ageing mechanism for starvation processes
Concept of Memory Module: integrity checks provide reliability. Memory modules are position
independent, re-entrant.
Network solution components. This is a package which includes: stacked protocol file manager,
protocol drivers, hardware drivers, device descriptors, application interface libraries, example
applications.
Most standard protocols are supported

Extensive support through IO Managers and File Managers


Re-entrant device drivers

Hawk: own Integrated Development Environment


supports creating, debugging, analysing and managing software projects
An open API allows third party add-ons like debuggers, GUI builders, etc.

Java and PersonalJava support


Own port of the JVM which is has an optimised interpreter loop directly written in assembler

x86, 68k, PPC, SH3, StrongARM

OS Name

Vendor

URL

OSE

Enea

www.enea.com

Features
Fully pre-emptive kernel, optimized to provide low latency and high rates of data throughput yet
compact enough for use in most embedded systems.
Designed for use in distributed and multiprocessor systems,
the kernel includes automatic supervision of processes.
Allows runtime reconfiguration
Supports advanced memory management that allows application code to execute in protected areas
of memory.
Process based
fully pre-emptive realtime kernel
The OSE Memory Management System (MMS) enables OSE applications to take full advantage
of a hardware memory management unit (MMU).
The OSE Internet Protocols (OSE INET) provide extremely high performance and versatility for
applications requiring a TCP/IP network connection. This full-featured solution includes an optimized
One-Copy standard BSD sockets interface that supports existing network applications such as Telnet,
HTTP, DHCP, FTP, and SNMP. Also included is an optimized and powerful Asynchronous signal
interface and from Epilogue Technology Corp. a complete network management option, SNMP
v1/v2c/v3 including a MIB compiler. Dynamic routing is achieved with use of OSE OSPF from
Phase2. An embedded Web Server allows for Web browser management and ease-of-use. A versatile
Board Support Package (BSP) is available for todays most popular boards.
No information on the website

I/O

Networking

Kernel

Target development

OSE Illuminator: a suite of software tools for debugging and analyzing embedded applications.
OSE Soft Environment: soft versions of most OSE tools used in conjunction with the OSE Kernel.
It enables the user to build a complete OSE system in a host environment, which may also be a
part of a distributed target system. This is especially useful in real-time systems where continuous
supervision and maintenance are required.
OSE Soft Kernel: allows OSE Kernel processes to be run on the host. It can simulate a single CPU
system or a fully distributed, fault tolerant system.
OSE and Telelogic Integrated Development Platform for Embedded Systems: provide a superior
alternative for developing embedded applications to conventional methods and tools, especially
with respect to time to market, quality and productivity.
OSE Development with the Multi Software Environment: a complete Software Development
Environment, is tightly coupled to the OSE RTOS and OSEs powerful application level debug and
analysis tool, Illuminator. The combination enables developers to perform debugging on multiple
levels simultaneously.
OSE and SingleStep integrated debug environment: easy-to-use integrated RTOS debugging
environment.

Java
Targets

No support provided by the vendor

OSE FOR HIGH AVAILABILITY SYSTEMS


Power PC
Strong ARM
Motorola 68K
MIPS R3000

OSE FOR DSP


Lucent 16K
Texas 320-family
Starcore
ST100

OSE FOR SMALL TO MIDSIZE APPLICATIONS


Infineon C166 Family
NEC V850 Family
ARM7TDMI
Atmel AVR
Mitsubishi MELPS 7700 Family
8051
68HC11 Family

OS Name

Vendor

URL

CHORUS

Sun Microsystems

http://www.sun.com/software/chorusos/index.html

Networking

Kernel

Features
Executive
Micro core executive:
10 Kbytes
Single multi-threaded application support
User-provided management of interrupts, traps and exceptions.
Core executive:
Supports multiple, independent users or trusted system applications.
Supports applications in user or supervisor address space.
Performs dynamic memory management.
Schedulers
Real-time scheduler: Priority-based pre-emptive FIFO.
Multi-class scheduler:
Priority-based pre-emptive FIFO
Priority-based with fixed-time quantum
UNIX time sharing and real-time
User-defined policy.
Memory Management
Flat memory: Management of physical memory, no protection.
Protected memory: Multiple protected address spaces.
Paged memory: Page-based protected address spaces.
Virtual memory: On-demand paging.
Communications
Local IPC: Single-board, asynchronous, synchronous and multi-cast communication.
Distributed IPC: Location-transparent communication.
Mailboxes: zero-copy, messages of configurable size.
Real-time message queues.
Synchronization
Semaphores
Mutexes
Real-time mutexes (to avoid priority inversion)
Event flags.
Time Services
Timers: One-shot or periodic, usable from both supervisor and user mode applications.
Time of day: Universal time.
Time utilities: High-level OS services, profiling, benchmarking.
Interrupt Management
Generic interrupt.
User-provided interrupt management.
Full TCP/UDP/IP stacks, including in particular
Support of multiple network interfaces
Routing between multiple interfaces
IP forwarding, IP multicast.
Sockets.
SLIP, PPP, with demand-dial establishment of connection.
Serial lines: line disciplines, pseudo-tty.
DHCP.
Name servers (DOMAIN, IEN116, file-based).
rsh, Xclients (Xlib, Xt, Xmu, Xext, Xaw).
Sun RPC.
Ethernet, Serial line, VME-backplane and cPCI support

I/O

Target development

UNIX -compatible UFS and FFS file systems (with 64-bits disk and file sizes).
Flash File System, based on MS-DOS file system (with long file names).
Drivers for SCSI and IDE controllers and Flash Memory.
NFS file sharing (client and server).
Execution in place of binaries stored in Flash Memory.
Embedded File system for built-in devices and drivers registration.
ANSI-C stdio
GNU C and C++ cross development tools:
g++.
GNU gcc cross-assembler.
GNU binutils (binary file utilities).
Microtec XRAY for ChorusOS operating system, a debugging tool which comprises an integrated
set of tools which simplify the edit-compile-download-debug cycle. It provides:
Enhanced C++ debugging.
Per thread breakpoints.
An easy to use, graphical user interface.
Support for debugging in multithreaded, multiboard and heterogeneous environments.
Support for debugging user application as well as system code (interrupt routines, drivers,
etc.).
A unique `window-per-task' interface for simpler debugging in multitasking/multiprocessing
environments.
Open framework for supporting Host-Target tools, in particular debuggers.
System configuration tools (GUI based), for selecting:
the components of the ChorusOS operating system to be loaded on the target,
the actors to be loaded at boot time,
the resources allocated to OS services (e.g. amount of memory)
the environment variables defining the configuration of system services (e.g. an IP address)
Libraries (C and C++):
Thread-safe C++.
ANSI-C (POSIX 1003.1 compliant).
POSIX 1003.1 conformant timers, message queues, shared memory, semaphores, I/Os and
pthreads.
POSIX 1003.1g conformant sockets.
Thread-safe mathematical ANSI-C.
C++ iostream; C++ exceptions.
Per-thread private data.
X11, Xaw, Xext, Xmu and Xt libraries.
Application management utilities:
Netboot: used to boot the ChorusOS operating system remotely, by using tftp, when the target
does not provide an embedded boot facility.
Default console: used to direct all console I/O to a local display or to a remote host via a serial
line.
Remote shell: used to execute commands remotely on the target from the host. In particular,
this feature allows applications to be loaded dynamically.
Resource status: used to list the current status of all operating system resources. For example,
actors, threads, and memory.
Logging: used to log operating system events as they occur on the target.
Monitoring: used to monitor operating system objects so that user-defined routines are called
when certain operations are performed on specified objects.
Profiling: used to run profiling sessions on system applications.
Benchmarking: used to benchmark the operating system.

Java
Targets

The ChorusOS operating environment is the foundation OS for JavaOS for Consumers software.
JavaOS for Consumers software leverages the ability of the ChorusOS operating environment
microkernel to host multiple environments, and therefore provides a real-time software environment in
addition to the PersonalJava application environment. By using common thread management features
and synchronization mechanisms, this combination offers a high degree of interoperability between
Java technology and real-time code
UltraSPARC IIi
PowerPC 603, 604, 750, 821, 823, 860, 8260
x86, Pentium
microSPARC II, IIep, SPARClet, SPARClite
ARM 7TDMI, ARM 710, StrongARM 1100

OS Name

Vendor

URL

ETS

Pharlap Inc.

www.pharlap.com

Networking

Kernel

Features

Realtime ETS Kernel is based on a Phar Lap-defined subset of the Win32 API
threads-based multitasking
synchronization objects such as critical sections, mutexes, semaphores and events
A deterministic scheduler, which has 31 priority levels, allows the highest-priority runnable thread
to execute. For threads of the same priority, the scheduler uses round-robin context switching. A
software event, hardware interrupt, or clock tick will cause the kernel to look for another thread
that is ready to run. The schedulers default time slice is 10 milliseconds, but you can dynamically
change it to range from 1 to 55 milliseconds to accommodate your systems requirements.
TCP/IP network stack, supports the industry-standard WinSock API
Most standard internet protocols supported: UDP, HTTP, SLIP, PPP, FTP, DNS,

Targets

Java developmentTarget

I/O

MS-DOS-Compatible File System with Flash File System Support

Embedded StudioExpress: seamless connection to Microsoft Developer Studio IDE for embedded
applications
LinkLoc: linker/locator for embedded programs
ETS Visual System Builder: point-and-click Windows utility for easily configuring the Realtime
ETS Kernel for custom hardware systems
386|ASM: 32-bit assembler

No support provided by the vendor

386, 386EX, 486, NS486, Pentium, Pentium Pro, MMX, Pentium II or compatible processor

OS Name

Vendor

URL

ThreadX

Express Logic

www.expresslogic.com

Targets

Java developmentTarget

I/O

Networking

Kernel

Features
picokernel architecture
delivered with complete C and assembly source code
no run-time royalties
unlimited number of software timers
message queues for data storage and inter-thread communication
event flags for application synchronization
highly optimized 32-bit counting semaphores
FusionX provides ThreadX applications with the most complete TCP/IP networking solution on the
market today. FusionX also supports SNMP and now has web browser capabilities.

FileX is an MS-DOS compatible embedded file system designed specifically for real-time applications.
It supports multiple media instances (disks, RAM, FLASH, etc.) and supports both 12 and 16-bit FAT
formats. FileX also supports contiguous cluster allocation.
ThreadX is completely compatible with all the major development tools including Green Hills MULTI,
MetaWare, Watcom, Borland, Microsoft, GNU, Software Development Systems (SDS),Tasking,
Microtec, Cosmic development tools and others. Check the website for additional information

No support provided by the vendor

x86, 68k, PPC, i960, ARM, C3x/C4x, 68HC11/16, Coldfire, MIPS, H8/SHx, TMS320C4x

OS Name

Vendor

URL

JBed

Esmertec

www.esmertec.com

Targets

Java developmentTarget

I/O

Networking

Kernel

Features

Hard real-time Operating System (RTOS) and Java Virtual Machine (JVM) in one piece
Fast execution (no interpretation ever, always native code)
Deadline-driven/time-triggered scheduling with admission testing
Fully supports the Java language as specified by Sun Microsystems
Incremental Garbage Collector compliant with hard real-time
Reflection, serialization Dynamic loading of Java byte code
Hard Real-Time
All the important protocols like TCP/IP, HTTP, TFTP, UDP etc are supported

All I/O is Java based


Device drivers can be written in Java (or C/Assembler)

All Java development tools can be used.


Jbed Integrated Development environment (IDE), an own product is also provided

Fully supports the Java language as specified by Sun Microsystems

PowerPC 8xx processors Boards: RPX Lite, MBX8xx, TQM8xx


Motorola 68k family processors Boards: MC Board, Vesta, PalmPilot
ARM, Intel, MIPS (coming soon)

Open source / freeware / research RTOS (4)


OS Name

Vendor

URL

RT-MACH

Carnegy Mellon
University

http://www.cs.cmu.edu/~rtmach/

Features
The Real-Time Mach microkernel-based operating system focuses on the subject of distributed
real-time OS mechanisms and services for developing and supporting real-time and multimedia
applications in current and future OSs. The philosophy behind RT-Mach is firmly based on realtime scheduling theory and in particular on priority-driven preemptive scheduling. RT-Mach
extends this philosophy by adding a fundamental OS notion of temporal protection that enables
the timing behavior of applications to be isolated from one another. The principles behind this
resource management philosophy have many implications to OS subsystems including scheduling
policies, synchronization primitives, inter-process communication, filesystems, windowing
systems, device drivers, network protocols and communication protocol processing. The
capabilities of Real-Time Mach span many of these subsystems while current and future planned
work will address the other subsystems.
supports rate-monotonic analysis, earliest deadline scheduling, and advanced resource reservation
with admission control and enforcement
Current work includes support for distributed resource management, mechanisms for guaranteeing
end-to-end latencies and dynamic QOS control
Communication Protocols and Network support available

No information on the website

Supported Compilers: gcc, g++, GNAT


Supported Tools: gdb, Advanced Real-time Monitor (ARM) and Scheduler 123 schedulability
analysis

developmentTarget

I/O

Networking

Kernel

Java
Targets

In progress

x86

OS Name

Vendor

URL

RTEMS

On-Line Applications
Research Corporation

www.oarcorp.com

A robust, open-source Real-Time Operating System providing the following features:


Scalable Architecture
Multiple APIs - "Classic", POSIX
Multitasking
Event-driven, priority-based, preemptive scheduling
Optional rate monotonic scheduling
Intertask communication and synchronization
Priority inheritance and ceiling protocols
Homogeneous and heterogeneous multiprocessor systems
Responsive interrupt management
High level of user configurability
Reentrant ANSI C Library
TCP/IP stack
BSD sockets

No information on the website

gnu tools (gcc, gnat, gdb, )

No support provided by the vendor, a port of a JVM is developed by the user community

Motorola PowerPC, M683x0, M680x0, Coldfire


Intel ix86, i960
MIPS R46x0
SPARC
Hitachi SH
AMD 29K
HP PA-RISC

Targets

Java developmentTarget

I/O

Networking

Kernel

Features

OS Name

Vendor

RT-Linux

URL
www.rtlinux.org

Networking Kernel

Features
RTLinux (RealTime Linux ) is an extension to Linux that handles time-critical tasks. In RTLinux, a
small hard-realtime kernel and standard Linux share one or more processors, so that the system can be
used for applications like data acquisition, control, and robotics while still serving as a standard Linux
workstation. The current version, V2, offers a POSIX style application programming interface (API),
supports SMP, and runs on Linux 2.2
Standard Linux networking available

Targets

Java developmentTarget

I/O

No information on the website

Standard linux tools available

No support provided

x86

OS Name

Vendor

URL

e-COS

Cygnus Solutions

http://sourceware.cygnus.com/ecos/

Networking

Kernel

Features

developmentTarget

I/O

Hardware Abstraction Layer (HAL) Real-time kernel


Interrupt handling
Exception handling
Choice of schedulers
Thread support
Rich set of synchronization primitives
Timers, counters and alarms
Choice of memory allocators
Debug and instrumentation support
ITRON 3.0 compatible API layered on top of the basic kernel
The EL/IX API, which is a POSIX -based API for embedded Linux, will be available later in 2000
Internet Stacks Include:
TCP/IP (RFC Compliant)
FTP
PPP
UDP
HTTP
SMTP
POP3
Web Server
SLIP / CSLIP
ISO C and math libraries
Serial device drivers
File System Components Include:
FFS (FTL)
DOS File System
Virtual File System
RAM Disk
CD ROM
Graphical configuration tool with built-in references and documentation window
GNUPro-based compiler/debugger tools with source code
Includes latest gcc, gdb enhancements
Target-resident debug stub with remote debugging capability
Target ROMs shipped with Developer Kit

Java
Targets

No support provided by the vendor

ARM family
Fujitsu SPARClite 32-bit product family
Matsushita MN10300 32-bit microcontroller series
Toshiba TX39 32-bit TX SystemRISC series
MPC800 embedded PowerPC(tm) family

Not further investigated (71)

uC/OS [pronounced MicroC/OS], the Micro-Controller Operating System, a portable, ROMable,


preemptive, real-time, multitasking kernel for microprocessors. (Sold with the book).
http://www.rdbooks.com
ITRON: Real-Time Kernel Specification for Small-Scale Embedded Systems
http://tron.um.u-tokyo.ac.jp/TRON/ITRON
AIX: IBM's own OS for IBM workstations. It is more a General Purpose OS than a real RTOS. See
for this OS/OPEN
http://www.ibm.com
AMX features a fast, ROMable, preemptive task scheduler, message exchanges, semaphore and
event managers, fixed buffer and dynamic memory allocation and Kwiklook debug tool.
http://www.kadak.com
ARIEL: Lightweight, royalty free, full source kernel for embedded real-time products
http://www.microware.com
ARTOS: Advanced real-time kernel with transparent network functionality suited for embedded
controllers, multiprocessor systems and distributed control systems with standard PC hardware.
http://www.locamation.com
ASP6x: High Performance RTOS specifically designed for Texas Instruments' 'C6x DSP
http://www.dnaent.com
Brainstorm Object eXecutive: World's first object-oriented real-time operating system (OORTOS)
Includes Custom Kernel Builder and BOX/Wizard application development tools. RIX enabled.
http://www.braineng.com
Byte-BOS: Small, prioritised, pre-emptive real-time kernel.
http://www.bytebos.com/
C Executive: A real-time, multi-tasking, ROMable kernel for embedded systems, C EXECUTIVE
is available for 8-, 16- and 32-bit CISC and RISC processors.
http://www.jmi.com
Chimera: Full-featured real-time kernel which supports both static and dynamic scheduling,
extensive error detection and handling, a full set of library utilities.
http://www.cs.cmu.edu/
CMX Real-Time Multi-Tasking Operating System products support MOST 8, 16 and 32 bit
embedded Microcontrollers and Microprocessors.
http://www.cmx.com/
CREEM: Simple concurrent dataflow RTOS for microcontrollers
http://goofee.com/
CRTX is a compact, simple to use, high performance off-the-shelf Micro Kernel intended for use
in embedded and DOS applications.
http://www.n2.net/starcom/index.html
DDC-I Ada Compiler Systems (DACS)
http://www.ddci.com/
Diamond TM is a Real-time, multi-tasking, multi-threading microkernel.
http://www.threeL.co.uk
Embedded DOS 6-XL: High-performance real-time DOS designed especially for embedded
process control and data acquisition applications.
http://www.gensw.com/general/
EOS is a scalable, multi-tasking RTOS designed specifically for real-time embedded applications
and to address the key manufacturing requirement of cost efficiency.
http://www.etnoteam.it/
ERCOS EK Specialized operating system for embedded controllers in the automotive market.
http://www.etas.de
EUROS: Scalable, prioritised, pre-emptive real-time operating system including a powerpul crossdevelopment environment.
http://www.kaneff.de/
The FUSION OS is a preemptive/non-preemptive real-time kernel.
http://www.pacificsw.com

Granada: Posix compliant easy portable Operating System for several target processors
http://www.b-ware.nl
Harmony is a multitasking, multiprocessing operating system for real-time control, developed at
the National Research Council Laboratories.
http://www.iit.nrc.ca/
Helios is a modular, real-time pre-emptive, multi-tasking operating system.
http://www.perihelion.co.uk
HP-RT: Large, prioritised, pre-emptive, multi-user, real-time kernel. POSIX compatibility, UNIX
development environment and features (file system, windows, networking).
http://www.hp.com/go/hprt
Hyperkernel product allows software developers to integrate highly deterministic realtime
application programs into Microsoft's Windows NT operating system
http://www.imagination.com
Inferno is a software platform for the development of networked devices, such as web phones and
firewalls.
http://www.lucent.com
INTEGRITY provides a memory-protected superset of the facilities offered in the velOSity RealTime Operating System from Green Hills Software
http://www.ghs.com
INtime (real-time Windows NT), iRMX: Extends capabilities of Windows NT with real-time
performance and determinism.
http://www.radisys.com
IRIX(TM) with REACT(TM)- included in every version of IRIX, REACT enables you to
configure any multiprocessor system for guaranteed real-time operation.
http://www.sgi.com/real-time/
iRMX III: Dedicated hard real-time operating system for embedded x86 hardware.
http://www.radisys.com
ITS OS: Real Time Operating System for embedded systems
http://www.intimesys.com
JOS: micro operating system for small scale and single chip embedded systems
http://www2.siol.net/ext/jarp
LP-VxWin uses LP Elektronik's hard real time technology to run Wind River's RTOS VxWorks
together with Microsoft Windows (3.x, 95 and NT 4.0) on the same PC processor.
http://www.lp-elektronik.com
The MC/OS runtime environment supports multiple processor types as a single system.
http://www.mc.com
MTEX: Small, prioritised, pre-emptive, VRTX-like real-time kernel.
http://www.telenetworks.com/
MTOS, MTOS-UX: Rich but compact, prioritised, pre-emptive, real-time OS. Supports symmetric
multiprocessing. Networking and file system options included or available, depending on version.
http://www.ipi.com
OS/Open: Features include open programming interface [POSIX standard]; open network
interfaces; hard real-time support; and optimisation for PowerPC.
http://www.ibm.com/
OSEK/VDX is a joint project of the automotive industry and aims at an industry standard for an
open-ended architecture for distributed control units in vehicles.
http://www-iiit.etec.uni-karlsruhe.de/
PDOS: Small, prioritised, pre-emptive real-time kernel. File system, networking and user interface
add-ons available.
http://www.eyring.com
PERC - Portable Executive for Reliable Control: PERC is a clean-room implementation of the
Java VirtualMachine.
http://www.newmonics.com
pF/x: Small, multitasking and extremely fast non-preemptive executive that uses an event-driven
scheme to ensure quick response.
http://www.forth.com

PowerMAX OS is a SVR4.2MP-based UNIX operating system with real-time extensions (POSIX


1003.1b).
http://www.ccur.com/
Precise/MPX, Precise/MQX: Scaleable, prioritised, pre-emptive real-time kernel for single and
distributed processing. Networking and data comm. add-ons available.
http://www.psti.com/
PRIM-OS: High performance RTOS for parallel DSP networks
http://www.sse.de/
PXROS: Fully Preemptive, realtime micro kernel with no interrupt overhead or latency time.
http://www.hightec-rt.com
Real-time Extension (RTX) for Windows NT: RTX is a common real-time environment for
Windows NT and Windows CE applications
http://www.vci.com
Encore Real-Time Software provides the solution for using Digital UNIX in real-time environment
http://www.encore.com
The REAL/IX PX operating system is MODCOMP's real-time implementation of the UNIX
System V operating system for Intel microprocessor based platforms.
http://www.modcomp.com/
REALTIME CRAFT: Complete RTOS+Development environment for embedded bare boards and
PC
http://www.tecsi.com
RMOS: Small Preemptive-multitasking kernel. Communication through: Semaphores, Messages,
Mailboxes, Flags und Shared-Memory, DDE Price: RMOS for Windows.
http://www.siemens.de
Roadrunner provides the highest performance for applications requiring data streaming with
quality-of-service.
http://www.cornfed.com
RTKernel-C: Real-Time Multitasking Kernel
http://www.on-time.com
RTMX O/S: Mid-sized prioritised, pre-emptive, multi-user, POSIX compatible real-time operating
system.
http://www.rtmx.com/
RTOS-UH/PEARL: Scalable, fully preemptive realtime operating system for embedded control.
http://www.irt.uni-hannover.de/
RTTarget-32: Cross Development System for x86 32-Bit Embedded Systems
http://www.on-time.com
RTX-51, RTX-251, RTX-166: Two Versions for the complete 8051 & the Siemens 166/167
families of processors
http://www.keil.com
RTXC, the real-time executive in C
http://www.esphou.com
RTXDOS is a Windows compatible real-time multitasking disk operating system for technical and
industrial PC applications and embedded systems.
http://www.technosoftware.com
RxDOS: Real Time DOS for embedded systems
http://www.rxdos.com
Smx is a real-time, multitasking kernel for x86, PowerPC, ColdFire, 68K, and CPU32 processors
http://www.smxinfo.com
SORIX 386/486: Based on USL SVR4.0 3.0 with real-time enhancements.
http://www.siemens.de
SPOX: Compact, scaleable, prioritised, pre-emptive real-time kernel. Add-ons: file system,
networking, math & sig. processing libraries.
http://www.spectron.com
SuperTask! is a mature, compact, fast, and user configurable RTOS suite that supports over 20 C
and C++ compilers/tool chains. Source code is provided with an ANSI C core.
http://www.ussw.com

SwiftOS: Small, multitasking and extremely fast non-preemptive executive that uses an eventdriven scheme to ensure quick response.
http://www.forth.com
TSX-32 is a DOS compatible, multi-user, multi-tasking, networking operating system with realtime capabilities.
http://www.sandh.com/
UNOS, Charles River's Real-time UNIX System V-compatible operating system supports hundreds
or prioritized processes and a virtually unlimited number of real-time events.
http://ourworld.compuserve.com/homepages/Charles_river/
velOSity Real-Time Operating System targets deeply-embedded, high-volume applications that
emphasize low cost and fast, deterministic real-time processing.
http://www.ghs.com
Virtuoso: Application specific generated, prioritised, pre-emptive, scaleable, real-time kernel.
http://www.eonic.com
Microsoft Windows CE 2.0 is a 32-bit, Windows-compatible real-time operating system that fills
the need for a small, scalable operating system
http://www.microsoft.com
XOS/IA-32 is a multi-tasking operating system for 386, 486, and Pentium based computers.
http://www.nexiliscom.com/
XTAL: Realtime Based Operating System(OS) for built-in micro computers and desktop
computers
http://www.axe-inc.co.jp

You might also like