What Is Virtual Machine (VM)?
A Virtual Machine (VM) is a type of computing resource that runs programs and deploys applications via software rather than a real machine. A physical “host” computer hosts one or more virtual “guest” PCs. Each virtual machine runs its own operating system and operates independently of the other virtual machines, even though they share a single host. This means that a physical PC can run a virtual macOS virtual machine.
Virtual machine technology is used for a variety of applications in both on-premises and cloud environments. Recently, public cloud services have begun to use virtual machines to provide virtual application resources to multiple users at the same time, allowing for even more cost-effective and flexible computing.
How do virtual machines (VMs) work?
You can share a system with multiple virtual environments thanks to virtualization technology. The hypervisor manages the hardware and keeps physical resources separate from virtual environments. The physical environment’s resources are partitioned as needed to the VMs.
When a user or program issues an instruction that requires additional resources from the physical environment while the VM is running, the hypervisor schedules the request to the physical system’s resources so that the virtual machine’s operating system and applications can access the shared pool of physical resources.
Benefits of Virtual Machines
Virtual machines are simple to administer and maintain, and they have a number of benefits over actual machines
- Virtual machines (VMs) can run numerous operating systems on a single physical computer, saving space, time, and management costs.
- Virtual machines enable the continued operation of old applications, hence lowering the cost of transitioning to a new operating system. For example, a Linux virtual machine running a Linux distribution as the guest operating system can live on a host server running another operating system, such as Windows.
- Additionally, virtual machines can provide integrated disaster recovery and application deployment capabilities.
Virtual machine drawbacks
While virtual machines have several advantages over physical machines, they may also have the following drawbacks
- If infrastructure requirements are not met, running multiple virtual machines on one physical machine can result in unstable performance.
- Virtual machines are inefficient and operate at a slower rate than a dedicated real computer. The majority of businesses employ a combination of physical and virtual infrastructure to balance the corresponding benefits and drawbacks.
Hypervisors are classified into several types
Virtualization can be accomplished using one of two types of hypervisors.
Type 1 hypervisors (also known as bare metal hypervisors) are installed natively on the underlying physical hardware. Virtual machines (VMs) communicate directly with hosts in order to allocate hardware resources, with no additional software layers in between.
Virtualization is performed entirely on host machines running type 1 hypervisors. They are frequently encountered in server environments, such as enterprise data centers. Citrix Hypervisor (formerly XenServer), VMware vSphere, and Microsoft Hyper-V are all examples of type 1 hypervisors.
To manage guest operations such as generating new virtual machine instances or modifying rights, a separate management tool is required.
Type 2 hypervisors (also known as hosted hypervisors) run on the operating system of the host computer.
Hosted hypervisors forward virtual machine requests to the host operating system, which then allocates physical resources to each guest. Type 2 hypervisors are slower than type 1 hypervisors because each VM operation must first pass via the host operating system.
In contrast to bare-metal hypervisors, guest operating systems are not physically bound to the hardware. Users can run VMs and continue to use their computers normally. This makes type 2 hypervisors appropriate for home users and small enterprises without dedicated virtualization servers.
What are VMs used for?
Here are some examples of how virtual machines are used
- Creating and deploying cloud-based applications.
- Experimenting with a new operating system (OS), including beta releases.
- Creating a new environment to make running dev-test scenarios easier and faster for developers.
- Making a backup of your current operating system.
- Installing an older operating system allows you to access virus-infected data or run an old application.
- Running software or apps on operating systems for which they were not designed.