Virtual Machines and Virtualization
5.5.1 What is Virtualization?
Virtualization allows multiple operating systems to run on a single hardware platform.
It enables the partitioning of a computer into separate spaces for virtual machines (VMs).
VMs operate as individual systems, performing typical computing tasks.
VMs can communicate over a network but typically do not share info with the host to mitigate security risks.
Virtual Machines (VMs)
VMs involve a guest operating system installed on a host computer using virtualization software (hypervisors) like Microsoft Hyper-V or VMware.
Virtualization Uses
Servers:
Can run multiple operating systems without performance loss.
Efficient resource usage prevents waste of memory/storage.
Desktop Virtualization:
Virtual Labs: Create environments to analyze viruses safely, preventing network infections.
Support Legacy Software: Older software can run on an upgraded host using an older OS (e.g., Windows 7).
Development Environment: Quickly test software under different constraints.
Training Labs: Students practice using a live OS without affecting production; costs can be discarded after use.
Virtualization Transparency
Each guest OS perceives it is operating independently with its own resources (CPU, memory, disk, network), although networking and sharing data can occur through the hypervisor but usually avoided for security.
Virtualization Requirements
Computer (Host): Physical machine providing necessary resources (CPU, memory).
Hypervisor: Software managing the VMs.Machine Environment and Hypervisors
Machine Environment: Facilitates interaction with hardware components of a host computer.
Hardware vs. Network: Differentiates between the physical components (hardware) and the connections/interfaces that enable communication (network).
Types of Hypervisors
Hypervisor Classes: There are two main classes of hypervisor:
Type I Hypervisor (Bare Metal Hypervisor):
Definition: Installed directly on the hardware and interacts directly with it.
Characteristics:
No intermediate host operating system (OS).
More efficient performance since it operates directly with hardware resources.
Type II Hypervisor:
Definition: Runs as a software application within a host OS.
Characteristics:
The host OS retains direct control of the hardware.
The hypervisor must request the use of hardware resources through the host OS.
3. Guest Operating Systems
Guest OS: These are operating systems installed within a virtual environment.
Limitations: The number of guest OS installations is generally only restricted by the hardware capacity of the host machine.
Virtualization Tools
Hyper-V:
Available in Windows 10 and 11 Professional and Enterprise editions.
Enables virtualization of guest operating systems.
Other Virtualization Programs:
Examples include VMware and VirtualBox, created by different companies outside Microsoft.
Function: All these programs allow users to run multiple operating systems on the same computer simultaneously.
Cloud Virtualization
Definition of Cloud Virtualization: Creating virtual copies of computer resources (like servers, networks, and storage) to reduce the need for many physical machines.
Advantages: These virtual copies are hosted in rented server space on the cloud, allowing access from various locations.