cs2015 Small Operating Systems - Sources - for embedded systems developers

This is a selection of operating system source distributions, and other resources. The emphasis is on real time systems that are suitable for use or adaptation, wholely or in part, to implement the executive functions that are more or less common to embedded systems in general.

Included is some documentation and links to sources of further information. As always, I do not warrant that any part of this product is suitable for a particular use, notwithstanding the language of the descriptions below.

These are the packages:

RTAI (Real Time Linux Application Interface) for Linux - lets you write applications with strict timing constraints. RTAI supports several architectures: x86 with and without FPU and TSC; PowerPC; ARM, StrongARM, ARM7, clps711x-family, Cirrus Logic EP7xxx, CS89712, PXA25x; MIPS. CRIS support is under development
KURT (Kansas University Real-Time) Linux - A microsecond timing resolution and event-driven real-time scheduling environment.
Linux/RK (Linux/Resource Kernel) - Incorporates real-time extensions to the Linux kernel to support the abstractions of a resource kernel. A resource kernel is a real-time kernel (operating system) that provides timely, guaranteed and enforced access to system resources for applications.
QLinux - A Linux kernel that can provide quality of service guarantees. QLinux is based on the Linux 2.4.4 kernel. It includes advanced scheduling techniques.
uClinux - A derivative of Linux 2.0 kernel. It is intended for microcontrollers without Memory Management Units. uClinux is not advantageous for multitasking, but the uClinux kernel is much, much smaller than the original Linux 2.0 kernel, while retaining many advantages of the linux operating system. uClinux supports TCP/IP and numerous other network protocols. uClinux supports NFS, ext2, MS-DOS, and FAT16/32, and a number of other file systems.
romfs - A space-efficient, small, read-only filesystem designed for Linux. It started to be included in Linux kernels since about version 2.1.21. It is part of all Linux kernel sources since version 2.4. romfs achieves loower overhead by (1) being read-only, and (2) it stores only the essential data, without modification dates, permissions, etc.
uClibc (µClibc) - A C library for developing embedded Linux systems. It is much smaller than the GNU C Library, but nearly all applications supported by glibc also work perfectly with uClibc. uClibc is by and large compatible with glibc. It runs on standard Linux and µClinux (no MMU) systems with support for alpha, ARM, cris, i386, i960, h8300, m68k, mips/mipsel, PowerPC, SH, SPARC, and v850 processors. uClibc is maintained by Erik Andersen.
Arx - A real-time operating system from Seoul National University. Arx offers a fully preemptive real-time kernel, a POSIX compliant thread library, multithread-safe standard I/O libraries, a TCP/IP protocol suite, a VFAT file system, X11 R6, and user-level IO. Arx runs on Pentium PC and StrongARM Network Computer.
ERICA - a real time operating system for Hitachi H8, distributed under the GNU GPL license. It has been designed to be an effective and attractive Educational platform for real-time programming or embedded systems courses.
Fiasco - A new µ-kernel (microkernel) running on x86 PC's, intended to be compatible with the L4 µ-kernel for x86. It implements the L4 ABI as defined in the L4/x86 Reference Manual.
Gemini Nucleus - A micro kernel desined with the latest findings in operating system research in mind.
Liquorice - An environment for embedded application development, including: real-time kernel facilities that supports multiple threads, thread priorities and a wide range of synchronization mechanisms; and pre-emptive thread-switching, with any lower priority thread being pre-empted when a higher priority thread becomes runnable. It is written almost entirely in C, and is highly modular. It supports a standard set of peripheral device handlers and support services, and UDP, TCP, ARP, PPP, SLIP, HTTP, and SNMP IP Networking proptcols. It includes a thread-safe C library. It supports dynamic binding of services at run-time, and symmetric multiprocessing.
ROME - A low overhead, modular, multitasking, embedded operating system which has been developed and used for multiple research projects within the Computer & Communications Research Laboratory (CCRL) of NEC USA, Inc. in Princeton, NJ. ROME was designed to manage high speed data streams within a multimedia environment. The memory footprint of a ROME system can be extremely small. ROME currently runs on Intel x86, Intel i960, and MIPS r4000 series processors; however, ROME is designed to be highly portable.
RTEMS (Real-Time Executive for Multiprocessor Systems) - A real-time operating system designed for deeply embedded systems. RTEMS is designed to support applications with the most stringent real-time requirements while being compatable with open standards. Development hosts include both MS-Windows and Unix (GNU/Linux, FreeBSD, Solaris, MacOS X, etc.) platforms. RTEMS supports supports diverse networking protocol capabilities and important file systems. It is portable to many target environments
Brix - A real time operating system, designed to be very fast, modular, secure and low in overhead, with no compromises. All code is compiled locally with a single language; binary code can not be installed. This means that other compiled languages (C and C++) can't be used with BRiX but interpreted languages such as perl, python, php and java can be. The Brix people say that BRiX is not a process based system. (?)
NewOS - An operating system with an emphasis on design and portability. It is largely implemented in C/C++, with a small amount of assembly. Currently, the system is mostly a kernel with a minimal amount of user space libraries and applications. Most of the work has been put into the kernel and other underlying support. The main developer is Travis Geiselbrecht (geist[[at]]newos[[dot]]org).
Odin - A high performance system, coded in assembler, for both desktop and server operating environments. It is designed for Ease of use.