160 likes | 305 Views
19. Virtual Machines. The Ideal Program Development Environment. Interactivity of a personal computer Power of a mainframe megabytes of memory high processing speed rich instruction set Access to full set of peripherals.
E N D
19 Virtual Machines
The Ideal Program Development Environment • Interactivity of a personal computer • Power of a mainframe • megabytes of memory • high processing speed • rich instruction set • Access to full set of peripherals
Fig. 19.1: A virtual machine implies multi-programming at the operating system level.
Fig. 19.3: The real computer is managed by a control program.
Fig. 19.6: CMS is an interactive, single-user operating system that controls a virtual machine under VM.
The Control Program (CP) • Processor management • time slicing • Memory management • dynamic address translation • demand paging • Peripheral device management • real peripherals controlled by CP • virtual peripherals for each virtual machine
Fig. 19.7: Visualize a page of data moving from an external device into real memory.
Principles of Operation • System directory • Interrupts • real interrupt handled by CP • interrupt simulated for virtual OS • Privileged instructions • virtual OS runs in CP’s problem state • privileged instruction generates interrupt • CP handles interrupts
Fig. 19.8: CP maintains a system directory that holds one entry for each virtual machine.
Fig. 19.9: A user’s command class indicates the commands he or she is permitted to issue.
Advantages • Supports program development environment • Increases levels of multiprogramming • Maintains compatibility with existing OS • Supports testing and parallel operation • Insulates operating environment from hardware
Disadvantages • Time-dependent code is illegal • CCWs cannot be dynamically modified • Additional system overhead