Earlier today, VMWare -- maker of virtual machine solutions that use software to make single physical computers look like mutliple and distinctly separate computers -- announced that it was moving from experimental support of Sun's x86-based version of Solaris to full fledged support. I haven't found any reported stories regarding the announcement to link to so I'll just link a copy of the press release for now. Earlier this year, Raghu Raghuram, VMware's Sr. Director of Strategy and Marketing, mentioned that experimental status during my line of questioning about how other virtualization technologies such as Xen and Intel's Vanderpool may affect the company's plans. With virtualization being in the news as much as it has been this week (quite a bit coming out of LinuxWorld in San Francisco), ZDNet reader and ex-IBMer Don Skiba wrote in to recount the history of how the term "hypervisor" came to be. In virtual machine parlance, the hypervisor is the layer of software that sits just "above" the hardware and handles the virtualization process (making one machine look like more than one machine and allowing each of those 'virtual' machines to run different operating systems). Here's what he said:
I wrote my 1st code on an IBM 650 using an assembler called SOAP as a flight test engineer in 1958 working for Convair and have been writing code ever since, mostly for keeping my brain tuned-up. I love this IT world. You have talked about virtual machines and the "Hypervisor" a number of times. I thought a little history might interest you.
I was with IBM in 1966, when we were trying to get the new System 360s installed. As you might imagine, converting all that "old code" from the old 1401, 1440, 1410, 7080, 7090 models was the biggest mess you'll ever want to see. On the 360 model 65, there was an emulator for a couple of older machines. Actually, all the 360 models, except for the model 75, were emulators of the 360 instruction set. The one that was popular for the model 65 was the emulator for the IBM 7080. However, you had to dedicate the machine to either 360 mode or 7080 mode. That was not making our customers very happy.
It turned out that there were some special registers on the model 65 that were inactive, but active on the model 67 that were used for time sharing and eventually a virtual operating system, CMS. I convinced the engineer's on the model 65 that we could use those registers to swap between programs running in the lower half of memory to programs running in the upper half and either half could operate in 360 or 7080 mode. We just needed a "little" code to do the swapping, mode setting and resource (I/O) allocation. I convinced a system engineer in Philadelphia, who had a customer who desperately needed this function, to write the code. We tossed around a lot of names for code at the time. I suggested that "hypervisor" might be appropriate, because, prior to the 360, there were no "operating systems" and the prior systems all had "supervisors". So, "hypervisor" seemed appropriate and the name stuck. It was a very successful program. We did the same type of thing for the smaller models with separate codes performing similar function (not called Hypervisors) with blazing success. There was very little fanfare about these codes, but in my mind, they saved IBM's butt during this migration. Asking customer's to do all that re-coding was one immense risk for IBM. That "Hypervisor" of almost 40 years ago was quite simplistic compared to the "Hypervisor" and VMWare of today.
And the rest was history. Cool. Thanks for the folklore Don.