This category has information on only RealTime Operating Systems (RTOSs), and closely related material.
Realtime systems are not the same as embedded systems. Realtime OSs can be used in general purpose computers, and in embedded types. Some embedded OSs are not realtime, and cannot serve some uses.
Why segregate RTOSs so fully? Three clear reasons exist:
1) The functional divide between RTOSs and non-RTOSs is large, which profoundly effects design: all OSs must provide logically correct/precise results, but RTOSs must go beyond this and give temporal (time) correctness. RTOSs are the only logical and safe choice for time-critical uses.
2) More RTOSs than non-RTOSs (fewer non-RTOSs than RTOSs) are in use, in this solar system at least.
3) Directory user needs are different: those seeking information on RTOSs usually need no information on non-RTOSs, and vice versa, those interested in non-RTOSs usually need no information on RTOSs.
On this page, links are arranged in three groups and levels: 1) Top group: issues spanning multiple unrelated OSs. 2) Middle group: types or classes of OS, or OSs for which there are more than one instance of an OS of this name/type, an OS family. 3) Bottom group: specific OSs, individual instances; there is only one OS of this name/type.
To this category, please submit information on only RTOSs and closely related material.
ChorusOS, sometimes called, improperly 'Chorus', is a highly scalable, reliable, POSIX compliant, embedded, realtime operating system; used by top telecom suppliers, in: public switches, PBXs, access networks, cross-connect switches, voice-mail systems, cellular base stations, cell-phones, web phones.
eCos (the Embedded Configurable Operating System) is a free open source real-time operating system (RTOS) designed for use in embedded systems. A key feature of eCos is its source-level configuration system which provides the infrastructure necessary to define configurable operating system features and to specify the dependencies between them. Developers make use of this configurability to customise eCos for specific application requirements, increasing performance and reducing memory requirements. The configurability of eCos at the hardware abstraction level has enabled the porting of eCos to many processor architectures and development boards.
eCos is developed as an open source community project under the guidance of a team of independent maintainers. Many sub-systems have been contributed by the community of developers including board support, device drivers, I/O infrastructure, networking, file systems and compatibility layers. Copyright is held by the Free Software Foundation. The core components of eCos are licensed under the eCos License which is derived from the GNU General Public License and incorporates an important exception clause which allows application code to remain proprietary.
FreeRTOS is a realtime operating system (RTOS) for embedded devices. Ported to many processors (ARM 7, Cortex-M3; AVR (MegaAVR); ColdFire; HCS12, H8S; MicroBlaze; MSP430; PIC 18, 24, dsPIC; RDC, Renesas H8/S; x86; 8051, 8052), and ported to new ones often. It was the first realtime kernel available for production CORTEX-M3 processors.
The FreeRTOS scheduler is small, simple, and can be configured for preemptive or cooperative operation. The kernel is made of only 3 or 4 C files, depending on whether coroutines are used or not. From Version 4, FreeRTOS lets programs use coroutines, and tasks. Coroutine are lightweight tasks that use little memory.
To make source code readable, portable, and maintainable, it is done mostly in C, with a few assembler functions where vital. The download contains prepared configurations and demonstrations for every port, for fast program design.
FreeRTOS.org has RTOS tutorials, details of RTOS design and performance comparison results on various processors.
A spin off project exists called SafeRTOS, based on the FreeRTOS code base, but updated, documented, tested, and audited for IEC 61508 safety related uses.
It is distributed under a GPL license modified so user's proprietary code remain closed source, while keeping the kernel open source, to aid use in commercial programs. FreeRTOS can be downloaded for free, without having to fill out a form or provide any information.
L4: a growing family of 2nd-generation microkernel realtime operating systems (RTOSs) that are fast, small, lean, maintainable, readable, preemptible, support hard priorities, use non-blocking synchronization for kernel objects to guarantee priority inheritance and ensure runnable high-priority processes never block waiting for lower ones. All scale well from tiny embedded systems to huge servers, and use hierarchical external pagers and guarded page tables, with fast, message-based, synchronous IPC, simply-used external paging mechanisms, security mechanism based on secure domains: tasks, clans, chiefs. Kernels try to implement only a minimal set of abstractions on which OSs can be built flexibly. L3 has system-wide persistence. All kernels are roughly compatible and many run on many platforms: ARM; MIPS; 68k, PPC; x86; L4Linux ports exist. Goals: create, prove, establish new methodology for systems that helps manage growing OS complexity and minimizes legacy dependence. [Open Source, GPL]
To this category please submit only links related to L3, L4, and Fiasco operating systems.
This category has information related to only Realtime Linux, in other words, Linux-based realtime OSs and closely related material.
Realtime systems are not the same as embedded systems. Realtime OSs can be used in general purpose computers, and in embedded types.
To this category, please submit only links germane to realtime Linux. Other Linux links should go in fitting categories.
The MenuetOS (or MeOS) operating system (OS) has a monolithic, preemptive, realtime kernel, including video drivers, for 32-bit and 64-bit x86 architecture computers. It has a graphic desktop, games, and networking (TCP/IP stack), yet fits on one 1.44MB floppy disk.
Development focuses on being fast, simple, efficient. It is all written in FASM Assembly language, and facilitates easy, full-featured Assembly programming, in contrast to the common view that Assembly languages are usable mainly for old and embedded systems.
MenuetOS was originally written for 32-bit x86 processors and released under the GPL, so many of its programs are licensed as GPL. The 64-bit MenuetOS, often called Menuet 64, remains a platform for learning 64-bit assembly language programming. Menuet 64 is distributed as freeware with no source code for core components. It works smoothly in QEMU which can emulate a 64-bit machine on a 32-bit machine. The author is Ville Mikael Turjanmaa.
MicroC/OS is most often called µC/OS or uC/OS. The second generation version is MicroC/OS-II, µC/OS-II, uC/OS-II. They are low-cost priority-based pre-emptive realtime multitasking operating system (OS) kernels for microprocessors, written mainly in the C programming language. They were originally published in a book by Jean J. Labrosse; µC/OS The Real-Time Kernel, ISBN 0-87930-444-8, which purpose was to describe the internals of a portable OS. It is now a product, maintained by Micrium Inc. Licensing can be per product or product line, with no royalties, or free for non-commercial uses.
This category is for only realtime operating systems (RTOSs) which main trait is that they have microkernel architectures. Monolithic kernels (most RTOSs) go elsewhere.
On this page, OSs are arranged in two groups and levels: 1) Top group: OSs for which there are more than one instance of an OS of this name/type, an OS family. 2) Bottom group: specific OSs, individual instances; there is only one OS of this name/type.
This category is for only realtime operating systems (RTOSs) with microkernel architectures.
Nucleus RTOS is made by Accelerated Technology, the Embedded Systems Division of Mentor Graphics. It comes with full source code, no royalties, is preemptive, multitasking, for time-critical embedded uses; coded 95% ANSI C, very portable, runs on most processors (CPUs), Nucleus micro-iPLUS has micro-ITRON (uITRON) interface; code|lab IDE, Microtec C/C++ compilers, XRAY debugger; available On Time free seminars, QuickStart Kits, XRAY Software Developer Kit.
From the OS-9 FAQ:
"OS-9 is a real-time, multiuser, multitasking operating system developed by Microware Systems Corporation. It provides synchronization and mutual exclusion primitives in the form of events, which are similar to semaphores. It also allows communication between processes in the form of named and unnamed pipes, as well as shared memory in the form of data modules.
OS-9 is modular, allowing new devices to be added to the system simply by writing new device drivers, or if a similar device already exists, by simply creating a new device descriptor. All I/O devices can be treated as files, which unifies the I/O system. In addition, the kernel and all user programs are ROMable. Thus, OS-9 can run on any 680x0 based hardware platform from simple diskless embedded control systems to large multiuser minicomputers.
Originally developed for the 6809 microprocessor, OS-9 was a joint effort between Microware and Motorola. The original version of OS-9 (OS-9 Level I) was capable of addressing 64 kilobytes of memory. OS-9 Level II took advantage of dynamic address translation hardware, and allowed a mapped address space of one megabyte on most systems, and up to two megabytes on others, most notably the Tandy Color Computer 3.
In the 1980's, Microware ported OS-9 to the 68000 family of microprocessors, creating OS-9/68000, which is used in a variety of industrial and commercial arenas, including Philips' CD-i. Code is mostly portable from OS-9/6809 to OS-9/68000 at the high-level language source code level. Code is compatible within either OS-9/6809 or OS-9/68000 at the binary level."
All operating systems (OSs) in this category support POSIX standards fully or partly. POSIX is an acronym for: Portable Operating System Interface for UniX. Much like TRON, POSIX is not a body of computer code that is compiled and run on some processor. Rather, it is a set of standards (IEEE 1003.1): interfaces, design guidelines, software design specifications, defining (for creating) the computer code that will become language interfaces between an OS kernel and its programs, to give compatibility when moving programs between compatible systems. POSIX is made mostly of features from BSD Unix and Unix System V.
Much like Open Source software, all POSIX standards are copyrighted (by the Institute of Electrical and Electronics Engineers, Inc., IEEE; new versions have joint copyright by IEEE and Open Group), but available for use by software developers anywhere in the world for free. Thus the OS architecture based on POSIX is an open architecture that invites and welcomes cloning and interoperability.
On this page, OSs are arranged in two groups and levels: 1) Top group: types or classes of OS. 2) Bottom group: specific OSs, individual instances; there is only one OS of this name/type.
All operating systems (OSs) in this category support POSIX standards fully or partly.
QNX: leading true realtime OS for PCs, now multiplatform. Small, fast, scalable, fault tolerant, POSIX compliant, preemptive multitasking, runtime memory protection, free downloads, more. Standard APIs and tools (POSIX, Linux, GNU, etc.) are familiar to tens of thousands of developers. Open architecture; available source; Linux and Unix compatible.
This category holds links on research into realtime operating systems, including research operating systems, and other related topics and information. Such research occurs mostly in universities, and in a few corporations. As the world grows ever more reliant on reliable computers, realtime research grows more vital.
To this category, please submit only links on research into realtime operating systems, including research operating systems, and other related topics and information.
RTEMS is an acronym meaning Real-Time Executive for Multiprocessor Systems. It runs on a wide range of CPU platforms: AMD 29K; Hitachi SH; HP PA-RISC; Intel x86, i960; Motorola m683x0, m680x0, mPPC, mColdfire; MIPS R46x0, SPARC. It has multiple APIs: RTEMS, POSIX-Unix, uITRON. It is written in C, with C++ support. There is a runtime for GNAT called GNAT/RTEMS for embedded Ada applications. An old RTEMS version is written in Ada83, but is for reference use only. No official newsgroups exist yet, but two public mail lists do: rtems-users, rtems-snapshots; see the OAR website. RTEMS is open source, under OAR's own license.
Originally, Tao Systems Ltd., made a nanokernel operating system product called Tao. Then they changed their name to The Tao Group Ltd., and the product name to Elate. Then they changed the product name to Intent, or more precisely perhaps, "with intent".
All operating systems (OSs) in this category support TRON standards fully or partly. TRON is an acronym for: The Real-time Operating system Nucleus. The TRON Project officially began June 1984, due to findings and recommendations in a report by a Japan Electronic Industrial Development Association technical committee that investigated microprocessor uses in the 1990s and later. Dr. Ken Sakamura, University of Tokyo, chaired this committee, managed TRON development, and is the main creator of the TRON architecture.
Much like POSIX, TRON is not a body of computer code that is compiled and run on a processor. Rather, it is a set of standards: interfaces, design guidelines, software design specifications, for creating the computer code that will become an OS kernel, and defining language interfaces between an OS and its programs, to give compatibility when moving programs between compatible systems.
Much like Open Source software, all TRON standards are copyrighted (by the TRON Association), but available for use by software and hardware developers anywhere in the world for free. Thus the computer architecture based on it, the TRON Architecture, is an open architecture that invites and welcomes cloning and interoperability.
Unlike other modern kernels developed to date, TRON was proposed and designed via a top-down approach to serve as a common software core for all the varied types of computer systems used throughout human society and human living spaces. Since one real-time kernel cannot run across everything from an 8-bit one-chip microcontroller to a mainframe computer central processing unit, there are many versions of the TRON software core that have been defined to meet the needs of varied systems. Together, all variants, which are all compatible with each other, form the basis for the world's first "total computer architecture." It was also designed to meet the needs of high-speed networking, to form the basis of a highly efficient realtime network architecture.
All operating systems in this category support TRON standards fully or partly.
These are realtime operating systems (RTOSs) that range from full Unix, and total POSIX compliance, to being less Unix-like, but which are still very POSIX compliant.
They are categorized as realtime "Unix-type" OSs instead of realtime "Unix" because some of these OSs are not full Unix, but are extremely, or very, or mostly Unix-like; in other words, some are more Unix-like than others. There is a virtual continuum of OSs from full Unix all the way to those that are merely somewhat POSIX compliant. This category holds those that are most Unix-like and POSIX compliant.