Check out the new USENIX Web site.

Home About USENIX Events Membership Publications Students
ALS 2000 Abstract

Plex86: an i80x86 Virtual Machine

Kevin Lawton, MandrakeSoft, Inc.

Abstract

What is virtualization ?
It is desirable to be able to run multiple operating systems simultaneously:
-in order to simultaneously run application software written for di erent operating systems
-in order to debug system software using a fully equipped host debugging environment
-in order to consolidate management of a great number of heterogeneous PC environments in an enterprise to a small set of virtual machine servers.

One could attempt to emulate the complete hardware environment | BOCHS
-Pro: works on any platform, emulators are portable -Con: this is very slow

One could attempt to emulate the API of the different operating systems | WINE, UML
-This requires the host platform to be the same as the platform of the emulated operating system
-The emulated API needs to be fully documented, which is not the case for most commercial systems

The intermediate solution is virtualization | plex86
-Emulate instructions in the guest OS which access features which can not be used concurrently with the host OS
*The peripheral devices
*System instructions
-Create an environment which will allow all other instructions to be executed natively by the processor

  • View the full text of this paper in PDF form, and PostScript form.

  • If you need the latest Adobe Acrobat Reader, you can download it from Adobe's site.

  • To become a USENIX Member, please see our Membership Information.
  • ?Need help? Use our Contacts page.

    Last changed: 29 Jan. 2002 ml
    Technical Program
    ALS Web Site
    USENIX home