3.5 Virtual Machines



When a machine can run multiple operating systems, then it is called a virtual machine. A virtual machine can host various applications which can run on different operating systems on a single platform. A typical example of virtual machines is the ones that are used in desktop environments to run Windows and Linux. Figure 3.11 shows a typical architecture of virtual machines. The virtual machine monitor runs on the top of the host operating system. Each virtual machine runs a separate operating system. The virtual machine monitor handles each operating system's communications with the shared hardware.
Virtual machine concept. (William Stallings, (2012)


3.5 Virtual Machines



A process virtual machine (VM) presents an application binary interface (ABI) to an application process. It translates the operating system and user-level instructions to another one as shown below. To achieve cross-platform portability, the ABI does not correspond to any specific machine. Two common examples of this approach are the Java VM architecture and the Microsoft Common Language Infrastructure, which is the foundation of the .NET framework.
Process virtual machines. (William Stallings, (2012)