Operating System Extensions to Support Host Based Virtual Machines

This paper presents two new operating system extensions that facilitate the fast execution of host based virtual machines: KTrace and MMA. KTrace provides a convenient and efficient mechanism for writing kernel modules that control the execution of user-level processes. MMA exposes more detail of the underlying memory management hardware, providing applications with access to high performance intraaddress space protection and address space overloading functionality. These extensions are applied to UMLinux, an x86 virtual machine that implements Linux as a user-mode process. As a result, overhead for UMLinux is reduced from 33% for a CPU bound workload and 819% 1240% for system call and I/O intensive workloads, to 6% and 49% 24% respectively.

[1]  C. Richard Attanasio,et al.  Penetrating an Operating System: A Study of VM/370 Integrity , 1976, IBM Syst. J..

[2]  Brian N. Bershad,et al.  Lightweight remote procedure call , 1989, TOCS.

[3]  Alessandro Forin,et al.  UNIX as an Application Program , 1990, USENIX Summer.

[4]  Robert Wahbe,et al.  Efficient software-based fault isolation , 1994, SOSP '93.

[5]  David B. Whalley,et al.  Fast context switches: compiler and architectural support for preemptive scheduling , 1995, Microprocess. Microsystems.

[6]  Brian N. Bershad,et al.  Extensibility safety and performance in the SPIN operating system , 1995, SOSP.

[7]  Anoop Gupta,et al.  Complete computer system simulation: the SimOS approach , 1995, IEEE Parallel Distributed Technol. Syst. Appl..

[8]  Dawson R. Engler,et al.  Exokernel: an operating system architecture for application-level resource management , 1995, SOSP.

[9]  Amitabh Srivastava,et al.  Analysis Tools , 2019, Public Transportation Systems.

[10]  Ken Arnold,et al.  The Java Programming Language , 1996 .

[11]  Trent Jaeger,et al.  Operating System Protection for Fine-Grained Programs , 1998, USENIX Security Symposium.

[12]  Tzi-cker Chiueh,et al.  Integrating segmentation and paging protection for safe, efficient and transparent software extensions , 1999, SOSP.

[13]  Jeffrey K. Hollingsworth,et al.  An API for Runtime Code Patching , 2000, Int. J. High Perform. Comput. Appl..

[14]  T. Chiueh,et al.  Integrating segmentation and paging protection for safe, efficient and transparent software extensions , 2000, OPSR.

[15]  Cynthia E. Irvine,et al.  Analysis of the Intel Pentium's Ability to Support a Secure Virtual Machine Monitor , 2000, USENIX Security Symposium.

[16]  Jeff Dike,et al.  A user-mode port of the Linux kernel , 2000, Annual Linux Showcase & Conference.

[17]  Mendel Rosenblum,et al.  Cellular disco: resource management using virtual clusters on shared-memory multiprocessors , 2000, TOCS.

[18]  Marianne Shaw,et al.  Denali: Lightweight Virtual Machines for Distributed and Networked Applications , 2001 .

[19]  Volkmar Sieh,et al.  Framework for testing the fault-tolerance of systems including OS and network aspects , 2001, Proceedings Sixth IEEE International Symposium on High Assurance Systems Engineering. Special Topic: Impact of Networking.

[20]  Brian D. Noble,et al.  When virtual is better than real [operating system relocation to virtual machines] , 2001, Proceedings Eighth Workshop on Hot Topics in Operating Systems.

[21]  Andrew C. Myers,et al.  Untrusted hosts and confidentiality , 2001, SOSP.

[22]  Beng-Hong Lim,et al.  Virtualizing I/O Devices on VMware Workstation's Hosted Virtual Machine Monitor , 2001, USENIX Annual Technical Conference, General Track.

[23]  Andreas Haeberlen,et al.  Performance of address-space multiplexing on the Pentium , 2002 .

[24]  Samuel T. King,et al.  ReVirt: enabling intrusion analysis through virtual-machine logging and replay , 2002, OPSR.

[25]  D. Simard Tech Trend Notes Preview of Tomorrow ’ s Information Technologies , .