RMoX logo


A Scalable, Compositional Operating-System
for Commodity Platforms


[ intro | start | news | features ]


RMoX on PC/104 RMoX is an experimental process oriented operating system for Pentium based hardware, written in the occam-pi programming language. The development of RMoX is currently funded by the UK Engineering and Physical Sciences Research Council (EPSRC), grant number EP/D061822/1.

Occam-pi, developed at Kent, is a process-oriented programming language, that uses an abstraction of processes and message-passing communication. These processes, organised into layered networks, are run concurrently (in parallel). Any reasonably sized application (including our operating system) may consist of several thousand communicating processes. This approach to programming differs substantially from the more widely accepted threads-and-locks techniques. Importantly, occam-pi's formal basis on Hoare's CSP and Milner's pi-calculus algebras permit a level of reasoning not typically available in most systems: gurantees of freedom from aliasing and race-hazard errors, and the ability to reason about freedom from deadlock and livelock. More details on our motivations for creating RMoX can be found on the background page.

The current target hardware platform for RMoX is the PC/104+ range of embedded PC devices. These are similar to desktop and server PCs in many respects (sharing many of the same support chipsets, for instance), but generally have a simpler set of functional requirements (compared with a desktop PC). RMoX will boot happily on a standards compliant desktop PC, however, and we are developing RMoX for these systems too — a scaled-up version. RMoX can also be built as a normal application, partly for testing and experimenting with higher-level functionality (most device-drivers are redundant here).

user-mode RMoX The RMoX operating system (and associated utilities, data files, etc.) are released open-source under the terms of the GNU General Public License (v2).

Getting started

Users: download a pre-built image and read the user documentation for instructions on booting it.

Developers: look at the developer documentation.


  • 19/08/2011 various minor fixes in the TCP/IP stack.
  • 31/12/2009 version up to 0.1.7, with various new drivers (basic IDE disks, partitions, LVM), more utilities and improved infrastructure.
  • 08/07/2009 got a mention in OSNews last month!
  • 07/04/2009 various updates to the web-pages, and new version (r4481) available for download.
  • 17/02/2009 occam-doc updates for the various applications.
  • 09/01/2009 version up to 0.1.6, with loadable module support.
  • 09/11/2008 new webpages online!


  • Massively concurrent design with lightweight process scheduling.
  • Multiprocessor support for MP 1.4 compatible platforms.
  • Device drivers for a range of standard hardware.
  • PCI and USB support.
  • Loadable module support.
  • User-mode support.


Valid XHTML 1.0!

Valid CSS!

Last modified: 2011-10-22 10:31:41.000000000 +0100 by Fred Barnes
Copyright © 2003-2009 Fred Barnes, University of Kent