Virtual machine definition
A virtual machine can be defined as a software implementation of a computer that runs an operating system and executes programs just like a physical computer. Virtual machines contain their own virtual hardware, including a virtual CPU, memory, hard disk, and network interface card, which look like physical hardware to the operating systems and applications.
Each VM consists of several types of files stored on a supported storage device. For example, a file with the .vmx extension holds the configuration of the virtual machine and a file with the .vmdk extension holds the actual data stored by the VM:
A virtual machine interacts with installed hardware through a thin layer of software called the hypervisor. The hypervisor provides physical hardware resources dynamically as needed and allows virtual machines to operate with a degree of independence from the underlying physical hardware. For example, a virtual machine can be moved from one physical host to another. Also, its virtual disks can be moved from one type of storage to another without affecting the functioning of the virtual machine.
By default, ESXi presents the following hardware to the VM:
- Phoenix BIOS
- Intel motherboard
- Intel PCI IDE controller
- IDE CD-ROM drive
- BusLogic parallel SCSI, LSI Logic parallel SCSI, or LSI Logic SAS controller
- AMD or Intel CPU, depending upon the physical hardware
- Intel E1000, Intel E1000e, or AMD PCnet NIC
- Standard VGA video adapter