A virtual machine consists of a core set of the following related files, or a set of objects, as shown in the figure below.
Figure 30. Virtual machine files
Except for the log files, the name of each file starts with the virtual machine’s name (VM_name). These files include:
A virtual machine uses virtual hardware. Each guest operating system sees ordinary hardware devices and does not know that these devices are virtual. Hardware resources are shown in the figure below.
Figure 31. Hardware resources for VMs
All virtual machines have uniform hardware, except for a few variations that the system administrator can apply. Uniform hardware makes virtual machines portable across VMware virtualization platforms. vSphere supports many of the latest CPU features, including virtual CPU performance counters. It is possible to add virtual hard disks and NICs, and configure virtual hardware, such as CD/DVD drives, floppy drives, SCSI devices, USB devices, and up to 16 PCI vSphere DirectPath I/O devices.
The Virtual Machine Communication Interface (VMCI) provides a high-speed communication channel between a virtual machine and the hypervisor. VMCI devices cannot be added or removed. The SATA controller provides access to virtual disks and DVD/CD-ROM devices. The SATA virtual controller appears to a virtual machine as an AHCI SATA controller. Without VMCI, virtual machines would communicate with the host using the network layer, which adds overhead to the communication. With VMCI, communication overhead is minimal, and tasks requiring that communication can be optimized. An internal network can transmit an average of slightly over 2Gbps using VMXNET3. VMCI can go up to nearly 10Gbps with twelve 8k-sized queue pairs.
VMCI provides socket APIs that are very similar to the APIs already used for TCP/UDP applications.
For more information about the virtual hardware, see vSphere Virtual Machine Administration Guide at https://www.vmware.com/support/pubs/vsphere-esxi-vcenter-server-6-pubs.html.