%T RMoX: A raw\-metal occam Experiment %A Christian L. Jacobsen, Frederick R. M. Barnes, Brian Vinter %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).