Hypervisors and Virtual Machines
Hypervisor: software that creates and manages virtual machines (VMs). Type 1 hypervisor (bare-metal): runs directly on the hardware without an underlying OS — more efficient, used in enterprise. Examples: VMware ESXi, Microsoft Hyper-V Server, Citrix XenServer. Type 2 hypervisor (hosted): runs as an application within a host OS — easier to install, convenient for desktop use. Examples: VMware Workstation Pro, VMware Workstation Player, Oracle VirtualBox, Parallels Desktop (macOS).
Virtual machine (VM): a software-emulated computer with its own virtual CPU, RAM, disk, and network adapter — completely isolated from the host and other VMs. Each VM runs its own OS (guest OS). VMs use disk image files (.vmdk for VMware, .vhd/.vhdx for Hyper-V, .vdi for VirtualBox) to store the virtual hard drive. Snapshots: capture the current state of a VM — can roll back to any snapshot instantly. Essential for testing changes and malware analysis.
Resource requirements: virtualization requires enabling hardware virtualization in BIOS (Intel VT-x or AMD-V). Without this, Type 2 hypervisors either won't run 64-bit VMs or run significantly slower (software emulation). Verify in Task Manager → Performance → CPU — 'Virtualization: Enabled'. VMs share physical RAM and CPU — host needs enough resources for both host and guest OSes running simultaneously.
VM isolation and security: VMs are isolated from each other and from the host. A malware-infected VM typically cannot escape to infect the host or other VMs — this is why VMs are used for malware analysis (sandboxing). Guest additions / VMware Tools: software installed in the guest OS that enables clipboard sharing, drag-and-drop, better display drivers, and time synchronization between host and guest.
Desktop and Server Virtualization Use Cases
Desktop use cases: application testing in an isolated environment, running legacy applications that don't work on modern OS, development and testing, security research/malware analysis in sandboxed VMs, running multiple OS versions simultaneously (Windows + Linux on same machine), training labs.
Server virtualization: consolidating multiple physical servers into VMs on fewer physical hosts — reduces hardware costs, power consumption, and data center space. Each VM acts as an independent server. Migration: move running VMs between physical hosts (vMotion, Live Migration) without downtime. High availability: VMs can automatically restart on another host if the physical host fails.
Containers vs VMs: containers (Docker, Kubernetes) share the host OS kernel — much lighter weight than VMs (MB vs GB), faster startup (seconds vs minutes). VMs have complete OS isolation — stronger security boundary. Containers are better for microservices and rapid deployment. VMs better for complete OS isolation requirements. A+ covers container awareness; in-depth container knowledge is beyond A+ scope.