A virtual history
Datacentres are full of VMs, but why and how did they get that way?
V
irtual machines have been around for a long time, and any computer antiquarian will tell you the programs that ran concurrently on the mainframes of the 60s were much more akin to operating systems (they had to manage the valve-and bulb-based hardware themselves), and were known as ‘supervisors’. And it’s from these ancient roots we get the modern-sounding (and vaguely menacing) term ‘hypervisor’, being the one looking down on all this middle management.
Emulation has always been a popular past time. It enables all kinds of retro-gaming diversions (stop playing Stunt Car Racer on the Amiga emulator and finish the curs’d cover feature – Ed), but there’s an important distinction between emulators and VMs. Today’s virtualisation is enabled by the CPU extensions that AMD and Intel introduced, known as VT and AMD-V, starting around 2006. These provide a virtual ring -1, to complement rings 0 and 3 used by traditional x86 code, so that virtual machines can run native code directly on the CPU. There’s no emulation layer to translate instructions from another architecture, so things can go much faster.