RMoX is a Pentium-based experimental operating system, designed using occam-pi/CSP research. It implements a new approach to operating systems in the field of computer science.
CSP is an ideal foundation for parallel systems as it provides reliable means of describing and reasoning about these systems and their interactions. The occam-pi language builds on CSP, adding new features from the pi-calculus to offer a dynamic and flexible environment that can create concurrent systems.
Traditionally, occam was designed for Transputers which had limited memory and no provision for features like virtual memory. Such features were unnecessary for embedded systems, which were the primary target for Transputers. However, using occam on modern computing systems has led to language development and the run-time system offering a range of facilities such as data, channel, and process mobility, multi-level process priority, extended synchronisation, among others.
RMoX uses various base-layers selected depending on how the system is to be used. There are four base-layers – Minlinux, Linux26, Raw, and User-mode base-layers- that abstract the interface to the system's hardware. The base-layer performs the bootstrap, discovery, and initialisation of selected hardware types and IO/memory-mapped devices.
The run-time KRoC/CCSP kernel provides the scheduling and communication routines for occam-pi processes. Currently, RMoX uses the pre-releases of the next KRoC/Linux version 1.4.0. The version of CCSP compiled depends on whether RMoX is being built for user-mode or non-user-mode.
In the future, RMoX may do without Linux flavoured base-layers entirely and use a more specialised "raw" base-layer instead. Also, there is a possibility of using a low-level infrastructure that sits on top of Xen, allowing RMoX to be run alongside other Xen-ported systems (primarily Linux, Windows-XP and Plan9).
Version 0.1.3: N/A