Virtualization is the process of creating a virtual rather than actual version of something like a server, a desktop, a storage device, an operating system or network resources. With the help of Virtualization, multiple operating systems and applications can run on the same machine that means no need saperate operating systems and its same hardware at the same time, increasing the utilization and flexibility of hardware. virtualization technologies provide a virtual environment for not only executing applications but also for storage, memory, and networking.
Virtualization example
Imagine a company that has several applications running on separate physical servers. Each server is dedicated to a specific application, and the overall hardware resources are not utilized efficiently. Consider a company that needs servers for three functions.
Each of these functions has different configuration requirements.
With the help of Virtualization, multiple operating systems and applications can run on the same machine that means no need saperate operating systems and its same hardware at the same time, increasing the utilization and flexibility of hardware.
Types of Virtualization
1. Hardware Virtualization
Hardware virtualization is a technology that allows multiple virtual machines (VMs) to run on a single physical host or server. It is achieved through the use of a hypervisor, also known as a Virtual Machine Monitor (VMM), which is a software layer that sits between the hardware and the operating systems of the virtual machines. The primary goal of hardware virtualization is to efficiently utilize the computing resources of a physical machine and provide isolation between virtual machines.
Here are key concepts and components associated with hardware virtualization.
Hypervisor
The hypervisor is a software component that managing and allocating physical resources (such as CPU, memory, and storage) to multiple virtual machines in a computer. It ensures that each virtual machine gets the allocated resources and does not interfere with the operation of other virtual machines.
There are two types of hypervisors.
Virtual Machine (VM)
A Virtual Machine is a virtualized instance of a computer that can perform almost all of the same functions as a computer, including running applications and operating systems. Virtual machines run on a physical machine and access computing resources from software called a hypervisor.
CPU Virtualization
In Modern CPUs are equipped with virtualization extensions (e.g., Intel VT-x, AMD-V) that enhance the performance of virtualization. These extensions allow the hypervisor to directly manage the execution of virtual machines, improving efficiency.
Memory Management
The process of allocation of physical memory to virtual machines managed by The hypervisor. It provides each Virtual Machine with a virtual address space, and the hypervisor translates these virtual addresses to physical addresses.
I/O Virtualization
I/O virtualization (IOV), or input/output virtualization, is technology that uses software to abstract upper-layer protocols from physical connections or physical transports. This technique takes a single physical component and presents it to devices as multiple components.
Virtual Networking
Virtual Networking enables the communication between multiple computers, virtual machines (VMs), virtual servers, or other devices across different office and data center locations.
Isolation and Security
Each virtual machine is kept isolated from its host physical system and other virtualized machines. Virtualized security, or security virtualization, refers to security solutions that are software-based and designed to work within a virtualized IT environment. This differs from traditional, hardware-based network security, which is static and runs on devices such as traditional firewalls, routers, and switches.
Compatibility
Compatibility refers to the ability of your OS to run on a specific virtualization platform, without requiring any modifications or adjustments .
Advantage of Hardware Virtualization
Hardware virtualization provides several advantages, making it a fundamental technology in modern computing environments.
The below are the following key advantages.