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