next up previous
Next: Architectural concepts Up: adeos Previous: Introduction


Previous work

As stated in the previous section, there are two categories of existing solutions that enable multiple operating systems to run on the same system. The first are simulation-based and provide a virtual environment for which to run additional operating systems. The second suggest the usage of a nano-kernel layer to enable hardware sharing.

In the simulation category we find tools such as VMWare [1], Plex86 [2], VirtualPC [3] and SimOS [10]. Both VMWare and Plex86 provide a virtual environnement on which ix86-based OSes can be used on top of other ix86-based OSes. VirtualPC enables Macintosh users to run ix86-based applications. Although these solutions are useful for users who desire to run applications foreign to their base OS, they provide no control whatsoever over the base OS to the user. SimOS was developed to analyze the performance and behavior of commercial operating systems under realistic workloads. Hence, it was never meant to be used in a production environment.

In the nano-kernel category we find projects such as SPACE [9,8,7], Cache kernel [4] and Exokernel [5]. All of these suggest building miniature hardware management facilities which can thereafter be used to build production operating systems. The problem of this approach is that it does not address the issue of currently existing operating systems and their user base. That being said, SPACE bares an important contribution to Adeos as it implements the concept of domains where each domain has its own set of characteristics.

Adeos addresses the requirements of both categories of application by providing a simple layer that is inserted under an unmodified running OS and thereafter provides the required primitives and mechanisms to allow multiple OSes to share the same hardware environment. Adeos does not attempt to impose any restrictions on the hardware's usage, by the different OSes, more than is necessary for Adeos' own operation. Instead, the actual restrictions are to be imposed by the system administrator or the system programmer. This, of course, renders the system subject to mismanagement, but the idea behind Adeos is precisely to give back control to system administrators and programmers. How this increased level of control should be used is outside the scope of this discussion.


next up previous
Next: Architectural concepts Up: adeos Previous: Introduction
root 2001-02-15