Mike: A Distributed Object-Oriented Programming Platfrom on top of the Mach Micro-kernal

  • Miguel Castro ,
  • Nuno Neves ,
  • Pedro Trancoso ,
  • Pedro Sousa

USENIX Mach Conference (MACHNIX'93) |

Published by USENIX

This paper describes the architecture and implementation of MIKE- a version of the IK distributed persistent object-oriented programming a platform built on top of the Mach microkernal.

MIKE’s primary goal is to offer a single object-oriented programming paradigm for writing distributed applications. In MIKE and application programmer can use C++ almost as he would in a non-distributed system.

The platform supports fine grained objects which can be invoked in a location transparent way and whose references can be exchanged freely as invocation parameters. These objects are potentially persistent. MIKE supports the abstraction of one-level store, persistent objects are transparently loaded on demand when first invoked and saved to disk when the application terminates. Class objects are special persistent objects which are dynamically linked when needed. The platform also offers distributed garbage collection of non-persistent objects.

This paper discusses how MIKE makes use of Mach’s features to offer of functionality described above and the techniques used to achieve good performance. MIKE is compared with the UNIX version of IK to evaluate the benefits of using Mach abstractions.