What is a Virtual Machine ?
In order to understand what is a “Virtual machine”, we need to first understand “What is a machine?”. The answer to this question lies on the perspective.
- Seen from the standpoint of a process, the “machine” constitutes both the operating system and the underlying hardware. The Application Binary Interface (ABI) serves as the interface between the process and the machine.
- Regarding the operating system’s viewpoint, the term “machine” pertains to the hardware beneath, and the interface between the system and the machine is facilitated by the ISA (Instruction Set Architecture).
A virtual machine functions by executing software in a manner identical to the original machine for which the software was intended.
Regarding terminology, the underlying platform is commonly termed as the host, while the software operating within the VM environment is referred to as the guest.
References:
- ARCHITECTURE OF VIRTUAL MACHINES by R. P. Goldberg
- An Overview of Virtual Machine Architectures by J. E. Smith and Ravi Nair