Virtualization
by Felix Kinaro About 2 min reading time
Virtualization software abstracts compute environments from the underlying physical infrastructures. This therefore allows one to run, multiple operating systems and applications simultaneously on the same machine.
For instance if you use a Windows computer that has a multi-core CPU, you can run a Linux OS as a virtual machine . This is done using virtualization software such as Hyper-V, VMWare Workstation and VirtualBox. The OS in which the virtualization software is called the host
, the software is called a hypervisor
and the virtual machines are guests
. Hosts must have sufficient RAM and CPU cores in order to run multiple guests concurrently. In addition, one has to enable virtualization in the firmware settings for a hypervisor to function correctly.
Common virtualization software
Hyper-V
Common to Windows operating systemsVMware products (Player, Workstation, vSphere)
VMware player is a free virtualization solution from VMware. It is supported on multiple operating systems.VirtualBox
This is an open source virtualization solution from Oracle.
Uses of virtualization
- Testing software.
This is an ideal way of testng software as opposed to using a separate computer, since resources are well utilized. One does not have to reinstall the OS, since guests can be cloned easily for sharing. A guest OS crashing has no effect on the host.
- Software reverse engineering
You may be researching on a piece of software, such as malware where you don't have the source code but need to analyze the software in order to understand how it functions. Conducting the analysis on your physical device could expose you to unknown risks.
- Isolating services
You can create multiple virtual machines to handle specific services in a network. This would enforce the principle of security by separation. A compromised guest can be destroyed or restored to an ealier state easily using snapshots, thus reducing the risk of the entire system going down.
- Running multiple OS'es concurrently
For instance, I can run Ubuntu Server, Kali Linux and Windows XP on my machine concurrently without having to install them on the hard drive directly.
However, the licensing requirements of the guest OS must be satisfied.