Bootstrapping and Startup of an object-oriented Operating System

The Plurix project implements an object-oriented Operating System (OS) for PC clusters. Communication is achieved via shared objects in a Distributed Shared Memory (DSM) using restartable transactions and an optimistic synchronization scheme to guarantee memory consistency. We believe that coupling object orientation with the DSM property allows a type-consistent system bootstrapping, quick system startup and simplified development of distributed applications. The OS (including kernel and drivers) is written in Java using our own Plurix Java Compiler (PJC) translating Java source texts directly into Intel machine instructions. PJC is an integral part of the language-based OS and tailor-made for compiling in our persistent DSM environment. In this paper we briefly illustrate the architecture of our DSM kernel and integration aspects of PJC. We present memory management issues related to the bootstrapping and startup process in particular memory pools to circumvent the false-sharing problem. We also describe the compiler supported “station object” used to access node private device drivers. Finally, we discuss the startup process relying on our cluster-wide naming service used to store persistent instances.