A virtual machine (VM) is nothing more than a piece of software that allows users to mimic a physical computer. Think of it as installing a small computer within your physical computer.
The main advantages of VMs are:
- multiple OS environments can co-exist on the same computer without impacting other “machines”;
- utilize a “sandbox” strategy to limit online security exposure (i.e. virus/trojan infections, etc.)
- ability to quickly dispose and replace contaminated machines without the expensem(yeah, that mean FREE!)
The main disadvantages of VMs are:
- a virtual machine is less efficient than a real machine (that is because a virtual machine must access hardware via virtual software)
- any demanding applications (i.e. Adobe Illustrator or Photoshop) may not run properly under a VM due to virtual hardware deficiencies;
- Running multiple VMs concurrently (at the same time) may slow down all processes
Multiple VMs each running their own operating system (called guest operating system) are frequently used in server consolidation, where different services that used to run on individual machines in order to avoid interference are instead run in separate VMs on the same physical machine.
The guest OSes do not have to be all the same, meaning you can install and run different OSes on the same computer (e.g., Microsoft Windows 7, Ubuntu Linux and others). The use of virtual machines is recommended to “sandbox” an OS that is not trusted, possibly because I have to browse through unknown, sometimes fishy websites for obtain affiliate marketing information.
One good example is what’s called “rick rolling” or “rick roll”. According to wiki, Rickrolling:
“…is an Internet meme typically involving the music video for the 1987 Rick Astley song “Never Gonna Give You Up”. The meme is a bait and switch: a person provides a hyperlink that they claim is relevant to the topic at hand, but the link actually takes the user to the Astley video. The link can be masked or obfuscated in some manner so that the user cannot determine the true destination of the link without clicking. When a person clicks on the link and is led to the web page, he or she is said to have been “rickrolled”…”
Sounds innocent enough, right? Wrong! If you visit some affiliate marketing, being rick rolled means being shown an obscene and explicit video clips with no way of getting off that website or getting virus infections and/or trojan software installations. Key benefit of browsing using one of these virtual machines is that when you are “rick rolled”, you can simply kill the virtual machine process, delete and start another virtual machine, all within few minutes.
I recommend either VirtualBox (free, open source from Oracle) or VMplayer (free from VMware, but you need to register).
Try it and let me know if you have any questions. You won’t regret it.
The main advantages of VMs are:
- multiple OS environments can co-exist on the same computer, in strong isolation from each other
- the virtual machine can provide an instruction set architecture (ISA) that is somewhat different from that of the real machine
- application provisioning, maintenance, high availability and disaster recovery[2]
The main disadvantages of VMs are:
- a virtual machine is less efficient than a real machine when it accesses the hardware indirectly
- when multiple VMs are concurrently running on the same physical host, each VM may exhibit a varying and unstable performance (Speed of Execution, and not results) , which highly depends on the workload imposed on the system by other VMs, unless proper techniques are used for temporal isolation among virtual machines.
Multiple VMs each running their own operating system (called guest operating system) are frequently used in server consolidation, where different services that used to run on individual machines in order to avoid interference are instead run in separate VMs on the same physical machine.
The desire to run multiple operating systems was the original motivation for virtual machines, as it allowed time-sharing a single computer between several single-tasking OSes. In some respects, a system virtual machine can be considered a generalization of the concept of virtual memory that historically preceded it. IBM’s CP/CMS, the first systems to allow full virtualization, implemented time sharing by providing each user with a single-user operating system, the CMS. Unlike virtual memory, a system virtual machine allowed the user to use privileged instructions in their code. This approach had certain advantages, for instance it allowed users to add input/output devices not allowed by the standard system.[3]
The guest OSes do not have to be all the same, making it possible to run different OSes on the same computer (e.g., Microsoft Windows and Linux, or older versions of an OS in order to support software that has not yet been ported to the latest version). The use of virtual machines to support different guest OSes is becoming popular in embedded systems; a typical use is to support a real-time operating system at the same time as a high-level OS such as Linux or Windows.
Another use is to sandbox an OS that is not trusted, possibly because it is a system under development. Virtual machines have other advantages for OS development, including better debugging access and faster reboots.[4]