2005-06-19 · in Ideas · 131 words

The RMoX operating system currently doesn't have any support for "usermode" programs. Meanwhile, the Transterpreter provides a portable occam VM implementation. Combining the two would provide a good "sandbox" mechanism for safely running user programs inside RMoX; it'd also be a nice framework for experimenting with performance improvements to the Transterpreter.

The obvious problem is how to deal with deadlock of a user process. The Transterpreter can detect deadlock -- when its internal scheduler has no runnable processes -- but that doesn't help if it's doing something with RMoX that would cause RMoX itself to deadlock. We'd need some sort of safe system interaction mechanism that would allow us to recover from deadlock: detecting patterns of communication and rolling back, for example, or just having a "safe shim" between usermode and the kernel.