db_connect: Could not connect to paper db at "wotug@dragon.kent.ac.uk"
db_connect: Could not connect to paper db at "wotug@dragon.kent.ac.uk"
%T RMoX: A raw\-metal occam Experiment
db_connect: Could not connect to paper db at "wotug@dragon.kent.ac.uk"
%A Christian L. Jacobsen, Frederick R. M. Barnes, Brian Vinter
db_connect: Could not connect to paper db at "wotug@dragon.kent.ac.uk"
%E Jan F. Broenink, Gerald H. Hilderink
%B Communicating Process Architectures 2003
%X Operating\-systems are the core software component of many
modern computersystems, ranging from small specialised
embedded systems through to largedistributed
operating\-systems. This paper presents RMoX: a highly
concurrent CSPbasedoperating\-system written in occam. The
motivation for this stems from theoverwhelming need for
reliable, secure and scalable operating\-systems. The
majorityof operating\-systems are written in C, a language
that easily offers the level offlexibility required (for
example, interfacing with assembly routines). C
compilers,however, provide little or no mechanism to guard
against race\-hazard and aliasing errors,that can lead to
catastrophic run\-time failure (as well as to more subtle
errors,such as security loop\-holes). The RMoX
operating\-system presents a novel approachto
operating\-system design (although this is not the first
CSP\-based operating\-system).Concurrency is utilised at all
levels, resulting in a system design that is well
defined,easily understood and scalable. The implementation,
using the KRoC extended occam,provides guarantees of freedom
from race\-hazard and aliasing errors, and makesextensive
use of the recently added support for dynamic process
creation and channelmobility. Whilst targeted at mainstream
computing, the ideas and methods presentedare equally
applicable for small\-scale embedded systems \- where
advantage can bemade of the lightweight nature of RMoX
(providing fast interrupt responses, for example).