A recent film ignited a new generation of armchair epistemologists when it proposed that we could be living inside an elaborate computer simulation. While your philosophy major friends were quick to point out that thinkers since Descartes have posed the same question, it’s likely that none of them ever considered the converse: what if, unbeknownst to them, our computers were really running inside other computers for the selfish interests of a special group of people?

As esoteric as this may sound, such a setup has been in use for a very long time. Virtual machine software can fool an operating system into thinking it’s running on its own hardware, when in reality it’s simply mooching off unused CPU cycles and RAM. Since the OS is running on its native platform, no emulation is necessary; virtualization allows it to run with little cost to CPU performance. However, since display and I/O functions are mapped to slightly different components (a window or a virtual partition, for example), they incur a slight performance hit.

If you are an applications develop you understand the importance of using Virtual Machine software to test your applications on various operating systems. Ars does a great shootout review to let you know which one will best fit your needs.