Implementation Aspects of a Persistent DSM Operating System in Java
نویسندگان
چکیده
The Java trademark encompasses the Java Virtual Machine (JVM), the Java language itself, and a large continuously growing class library. Beyond the development of applets in the context of the World Wide Web, more and more people use Java for large scaled standalone applications. This user group points out the performance disadvantage of the Java environment in comparison to sophisticated C/C++ compilers. As a result of this highly optimizing Java compilers begin to emerge which compile Java to machine code and abandon JVM-platform independence. The Plurix project goes one step further developing a native PC Operating System (OS) in Java. The central abstraction of the Plurix OS is a persistent Distributed Shared Memory (DSM). Our Plurix Java Compiler (PJC) translates Java sources into Intel protected mode code. It is itself written in Java and after boostrapping it will become an integral part of the Plurix OS. In this paper we shortly review the persistent DSM environment of Plurix and give an overview on the architecture of PJC. We present how the basic run-time structures are modeled in Java and how PJC is built on top of it. The implementation of the Java language in the persistent Plurix DSM reveals interesting semantic issues. We suggest extending initialization rules for classes and an additional attribute clarifying semantic ambiguities of static variables. Finally, we present how a generalized type equivalence check scheme enhances flexibility in the Plurix DHS.
منابع مشابه
Linking and Loading in a Persistent Dsm Operating System
Our native Java compiler directly generates runtime structures in a persistent Distributed Shared Memory (DSM). The compiler has been used to build a general purpose PC Operating System (OS) on top of a persistent DSM memory. The persistent DSM operating environment lends itself naturally to an integration of symbol tables, class descriptors and naming during Java program compilation and execut...
متن کاملType-Safe Object Exchange Between Applications and a DSM Kernel
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 contend that coupling object orientation with the DSM property allows a type-consistent system bootstrapping, quick sys...
متن کاملType Evolution and Version Management in a Persistent Distributed Operating System
Todays commercial Operating Systems (OS) use message passing communication facilities such as Corba, Remote Procedure Calls, and TCP/IP. Distributed Shared Memory (DSM) is an alternative mainly used for scientific computing and specific parallel algorithms. We are currently developing a general purpose PC Operating System using the DSM paradigm as communication media. A new memory consistency m...
متن کاملA Kernel Running in a DSM - Design Aspects of a Distributed 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). The consistency of this distributed memory is guaranteed by an optimistic synchronization scheme and restartable transactions. We contend that coupling object orientation with the DSM property allows quick system startup, simp...
متن کاملOperating System support for Java
Over the last 15 years a number of persistent language systems have been produced whose implementation relies on the persistence mechanisms provided by an underlying operating system. We have produced an operating system called Grasshopper expressly designed to support orthogonally persistent systems. In this paper we demonstrate how the mechanisms provided by Grasshopper may be used to impleme...
متن کامل