Through this article I would like to introduce the concept of Virtual Machine(VM) and also introduce two free VM tools.
A virtual machine (VM) is a software implementation of a machine (e.g., a computer) that executes programs like a physical machine. Virtual machines are separated into two major classifications, based on their use and degree of correspondence to any real machine:
A system virtual machine provides a complete system platform which supports the execution of a complete operating system (OS). These usually emulate an existing architecture, and are built with the purpose of either providing a platform to run programs where the real hardware is not available for use (for example, executing on otherwise obsolete platforms), or of having multiple instances of virtual machines leading to more efficient use of computing resources, both in terms of energy consumption and cost effectiveness (known as hardware virtualization, the key to a cloud computing environment), or both.
A process virtual machine (also, language virtual machine) is designed to run a single program, which means that it supports a single process. Such virtual machines are usually closely suited to one or more programming languages and built with the purpose of providing program portability and flexibility (amongst other things). An essential characteristic of a virtual machine is that the software running inside is limited to the resources and abstractions provided by the virtual machine—it cannot break out of its virtual environment.
Now its time to meet two such friends.
1. Virtual Box
2. QEMU
1. Virtual Box (Linux/MAC/Windows)
2. QEMU (Linux)
A system virtual machine provides a complete system platform which supports the execution of a complete operating system (OS). These usually emulate an existing architecture, and are built with the purpose of either providing a platform to run programs where the real hardware is not available for use (for example, executing on otherwise obsolete platforms), or of having multiple instances of virtual machines leading to more efficient use of computing resources, both in terms of energy consumption and cost effectiveness (known as hardware virtualization, the key to a cloud computing environment), or both.
A process virtual machine (also, language virtual machine) is designed to run a single program, which means that it supports a single process. Such virtual machines are usually closely suited to one or more programming languages and built with the purpose of providing program portability and flexibility (amongst other things). An essential characteristic of a virtual machine is that the software running inside is limited to the resources and abstractions provided by the virtual machine—it cannot break out of its virtual environment.
Now its time to meet two such friends.
1. Virtual Box
2. QEMU
1. Virtual Box (Linux/MAC/Windows)
VirtualBox has a loyal following thanks to a combination of a
free-as-in-beer price tag, cross-platform support, and a huge number of
features that make running and maintaining virtual machines a breeze.
Virtual machine descriptions and parameters are stored entirely in
plain-text XML files for easy portability and easy folder sharing. Its
"Guest Additions" feature, available for Windows, Linux, and Solaris
virtual machines, makes VirtualBox user friendly, allowing you to
install software on the virtual machine that grants extra privileges to
the host machine for tasks like sharing files, sharing drives and
peripherals, and more.
QEMU is a powerful virtualization tool for Linux machines built upon the back of the KVM system (Kernel-based Virtual Machine). QEMU executes guest code directly on the host hardware, can emulate machines across hardware types with dynamic translation, and supports auto-resizing virtual disks. Where QEMU really shines, especially among those who like the push the limits of virtualization and take their virtual machines with them, is running on hosts without administrative privileges. Unlike nearly every emulator out there QEMU does not require admin access to run, making it a perfect candidate for building thumb-drive based portable virtual machines.