OK, let's have a little fun discussing VM.
VM = Virtual Machine.
Advantages:
1. You can host a guest operating system known as a VM inside your main operating system known as the host sharing the computing resources from your pc such as the CPU and memory.
This will allow you to have access to other operating systems in real time. A huge benefit if you dont want to fork out on a new computer just because you want to try the latest linux operating system or the latest macosx.
2. Testing and learning. If your a software developer, you can test software inside a VM. If the VM would or ever crash your operating system due to ur software, then the main operating system is not affected, only the VM would be.
So its good for testing purposes. Its also good for testing a virtual network. You could set up multiple VMs and network each VM together as if they were separate machines. This would allow you to test out networking protocols and that would help to become a network engineer.
3. If you have a server with lots of computing resources then you could create lots of webservers which are separate to each other and resell what they call 'virtual server' to customers. This means they get a slice of your computer resources. If their webserver shuts down abnormally, the machine wouldnt be affected as you they will only have access to their virtual machine.
4. If you have more than one monitor, then you can each assign a virtual machine to a monitor so each virtual machine has its own monitor
5. VMs are portable. Its just a huge file. Take that file with you anywhere and you have your files and operating with u whereever you go. However you can only run it on a pc that has a Virtualisation software, software that allows you to run virtual machines.
Disadvantages:
1. Resources Hungry. It uses up more resources the more VMs that you run simultaneously.
2. If your CPU does not allow for hardware virtualization then you can run some operating systems in software virtualization but generally its slower. So slow that it would annoy you.
Some operating systems will not run in software virtualization and require that you have a CPU with hardware virtualization. So it would cost you more if you dont have a CPU with hardware virtualization.
3. If you want to own your own server and intend to resell a virtual server then you generally need a fair bit of money to set it all up. This could mean a purchase of 64-bit hardware with multiple cpus and multiple hard drives.
Big cost.
In regards to server virtualization I think ive already covered most. It also plays a role in Google OS and other cloud computing companies. If you initiate setup on a cloud computing software, it means it may or may not install an operating system into your computer but instead give you the software to access that operating system which could be hosted on the Cloud which may be where it stores your files.
What this means is your computer becomes a terminal. A means of accessing your operating system through a cloud provider. This is another kind of virtualization where you as the user will get a share of their computer resources by storing your files on their computers.
It then means you can go anywhere in the world, use any computer and wala you have access to your operating system. These cloud computer companies rely on virtualization.
Final Note: If you have the money to invest and you intend on developing software for other platforms and plan on become a network engineer or for other reason I mentioned above, then invest in setting up your machine to support virtualization
