What is CPU virtualization, and what is it used for?

The title says it all, really.  I'm curious as to what virtualization is, what it does, what it's good for, et cetera.




It's actually pretty simple (in concept, not execution or design). Virtualizanion allows you to share one CPU for multiple instances of OSs, i.e. virtual machines. It spreads out the system resources so that one computer, or server (same thing), can run lots of independant servers, or clients of other sorts. Web hosting providers offer low-end packages where you share a server with other people, and just get a VM on that server. A better option is dedicated hosting, but that isn't the question.

Basically, virtualization is great for hosting tons of servers, render farms, testing out new OSs (you can run a VM of a Linux distro inside of Windows, for example), and just about everything in-between.