WrmOS

Contents
1. Overview
2. Features
3. Documentation
4. Downloads
5. Licensing
6. Articles

1. Overview [up]


WrmOS is a open source real time operation system (RTOS), based on L4 microkernel. It has own implementations of kernel, standard libraries and network stack. The following architectures are supported — SPARC, ARM, x86, x86_64.

OS consists from next components:

Build System make based building system
Bootloader HW initialization, unpacking RAM Filesystem and transfer control to the kernel
RAMFS binary image of RAM file system with configuration file and applications
Kernel L4 microkernel
System Software root-pager (sigma0), root-task (alpha)
User applications including drivers, network stack, and other

2. Features [up]


Implementation of architecture dependence properties of the OS are shown in the table below.

  SPARC ARM x86 x86_64 MIPS PPC32
loader + + + + - -
kernel + + + + - -
support FPU + - - - - -
support SMP - - - - - -
system software + + + + - -
wrmos API + + + + - -
QEMU execution leon3_generic vexpress-a9
xilinx-zynq-a9
+ + - -
HW execution leon3 xilinx-zynq-zc706 - - - -
w4linux + - - - - -

The greatest development was the architecture SPARC and hardware on Gaisler LEON3. There are machine control projects based on WrmOS which showed good reliability and performance of the OS. Architectures ARM and x86 are supported but not to the full extent. Support for MIPS and PPC32 are expected in the future. The main goal at the moment is the architecture ARM, launch on the ARM HW, SMP.

Other properties are listed the table below.

Small and fast kernel L4 based microkernel very small and provides to user simple L4 API. It allows to control base system resources — CPU and memory.
Simple API WrmOS API cover L4 API and provides simple C API. It allows to control OS resources — threads, applications, mutexes, semaphores, IRQs, devices.
Real-time WrmOS kernel provides priority based scheduler. It allows to build hard real time projects and control CPU resources easy and predictably.
Good for embedded systems WrmOS has small CPU and memory overheads. It allows to use OS for weak hardware or for high-loaded projects.
w4linux — combine real-time and flexibility There is w4linux project that run paravirtualized Linux on top of WrmOS. It allows to combine real-time part of project (for example Machine Control) and wealth of software that provides Linux (for example drivers, web services, communications).

3. Documentation [up]


The main document for L4 microkernel is L4 Kernel Reference Manual Version X.2. It describes kernel API, ABI and principles of L4 Operation System.

WrmOS documentation consists from next clauses:

  1. Build system
  2. Configuration
  3. Bootloader
  4. Kernel
  5. Root-pager Sigma0
  6. Root-task Alpha
  7. WrmOS API

4. Downloads [up]


WrmOS sources can be downloaded from github.

git clone https://github.com/wrmlab/wrmos.git

Also may be used zip archive.

5. Licensing [up]


WrmOS and all its parts are distributed under the MIT license.

A short and simple permissive license with conditions only requiring preservation of copyright and license notices. Licensed works, modifications, and larger works may be distributed under different terms and without source code.

For distribution WrmOS under other licensing please write a message in contact form.

6. Articles [up]


  1. How to get toolchain
  2. Simplest project Hello World