Virtual Machine technology applies the concept of virtualization to an entire machine, circumventing real machine compatibility constraints and hardware resource constraints to enable a higher degree of software portability and flexibility. Virtual machines are rapidly becoming an essential element in computer system design. They provide system security, flexibility, cross-platform compatibility, reliability, and resource efficiency. Designed to solve problems in combining and using major computer system components, virtual machine technologies play a key role in many disciplines, including operating systems, programming languages, and computer architecture. For example, at the process level, virtualizing technologies support dynamic program translation and platform-independent network computing. At the system level, they support multiple operating system environments on the same hardware platform and in servers.
Table of contents :
Foreword Preface Chapter 1: Introduction to Virtual Machines Chapter 2: Emulation: Interpretation and Binary Translation Chapter 3: Process Virtual Machines Chapter 4: Dynamic Binary Optimization Chapter 5: High-Level Language Virtual Machine Architecture Chapter 6: High-Level virtual Machine Implementation Chapter 7: Codesigned Virtual Machines Chapter 8: System Virtual Machines Chapter 9: Multiprocessor Virtualization Chapter 10: Emerging Applications Appendix A: Real Machines References