Virtualization allows a single computer to run a number of different operating systems. This is done by creating an abstraction layer and then installing these operating systems in their own environment. What you end up creating is essentially a new program that is a virtual PC with installed applications. This “program” can then be run on almost any PC, regardless of the native OS.
A PC with XP Home could run Windows XP, Windows 2007, and Windows Server 2008. You simply select which machine you want to run and that is the OS that you see. You can also “install” applications under each of these different systems, and when you boot to that virtual machine you will have the applications ready to run. Even if it is a program that only runs on Windows Server, the abstraction provided by the virtualization software allows it to run on your XP Home PC. These virtual machines are isolated and can even be run at the same time.
Each of these virtual machines can even be configured with its own “virtual hardware” which allows them to be moved from one physical machine to another without having to worry about interaction with other applications. Once you have a Windows Server configured with all your applications you can simply move that entire setup to another PC within a matter of minutes and have it run the same way.
Comparison with Thin Clients
While virtualization will let you run multiple operating systems on a single server, Thin Clients let you run multiple users on a single operating system – without all the virtualization overhead. To allow multiple users with virtualization you would need to have a virtual machine for each user. With Thin Clients you start up a standard version of Microsoft Server, install applications, and then start plugging in Thin Clients. All users run the same OS so there is just one server to maintain.
It is possible to combine virtualization and Thin Clients by running the Thin Clients on a virtual Server. While there may be cases where this makes sense, it is usually just adding a layer of complexity that you don’t really need.