Survey of Virtual Machine Research
This paper describes recent work (circa 1974) on virtual machine
principles, performance, and practice.
Principles
- virtual machine systems: simulators for multiple copies of a
machine on itself.
- virtual machine (VM): the simulated machine.
- virtual machine monitor (VMM): the simulator software.
- Principal characteristics of the third-generation
architectures for which virtual machine systems were originally
developed was the dual-state hardware organization with a
privileged and non-privileged mode.
- privileged software nucleus (kernel)
- extended machine: set of non-privileged instructions
together with the supervisory calls.
Performance
- Extra resources needed: main memory, processor cycles.
- Sources of overhead:
- Maintaining the status of the virtual processor.
- Support of privileged instructions.
- Support of paging within virtual machines.
- Console functions.
- A problem: resource allocation algorithms in operating
system (these are meant for managing real resources, but the
virtual resources may not correspond precisely to real
resources).
Practice (example uses)
- Privileged software development, test and diagnostic
functions, multiple operating system execution concurrently with
production uses of the system.
- Retrofit old operating systems with new features.
- Improved testing of privileged software.
- Testing of computer network software on a single physical machine.
- Debugging and performance monitoring tools.
- Software reliability through isolation.
- Data security.
Elaine Cheong
Last modified: Sun Aug 19 18:29:26 PDT 2001