next up previous
Next: Operating system development Up: Applicability Previous: Applicability

General-purpose operating system resource sharing

This is one of the main objectives of Adeos, to provide an environment which enables multiple general-purpose OSes to share the same hardware. As such, the implementation details provided in section 4 only explain how to install Adeos under Linux. In order to run another OS side-by-side with Linux some other implementation details will have to be covered. It remains that whichever OS gets to run with Linux it too will be trusted. In the following we will take an example where we'd like to run NetBSD beside Linux. Choosing an OS for which we do not have the source code may be a risky business though.

The first step to get an OS going is to boot it. Since this process involves probing and initializing all the hardware, we cannot permit NetBSD to boot in any form on Adeos since Linux has already booted an initialized all the hardware. Although once booted, a Linux and a NetBSD may be made to share the same hardware granted they don't reside in the same physical space and use different I/O devices. Some of the latter may be hard to share, but using appropriate domain handlers, this should be feasible. The division of physical memory may be made by instructing Linux at boot time to use only a portion of the physical memory for its operation, the rest being intended for NetBSD.

We still need to obtain a booted image of NetBSD. This may be performed in one of two ways. First, we may use plex86 to boot NetBSD in a virtualized mode and then transfer the booted OS into physical memory under control of Adeos. Second, we may boot NetBSD and then obtain an image of the running system which will thereafter be loaded beside Linux on top of Adeos. Both methods represent a fair amount of work, but the first solution is very close to K. Lawton's discussion in [6] about virtualization of OS operation at ring-one.


next up previous
Next: Operating system development Up: Applicability Previous: Applicability
root 2001-02-15