Etymology of 'hypervisor' surfaces

Etymology of 'hypervisor' surfaces

Summary: 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.

SHARE:
TOPICS: Virtualization
3

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.

Topic: Virtualization

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.

Talkback

3 comments
Log in or register to join the discussion
  • If he tried to do that today

    in behemoth blue, he would need to go through so many different departments, and provide so much paperwork, that it wouldn't get done. And people wonder why small companies are better at innovation . . .
    Roger Ramjet
  • Hypervisors on System/360

    A minor correction in that CMS was not a "virtual operating system". The S/360-67 (a modified S/360-65) was the first IBM product that supported Dynamic Address Translation, which enabled virtual storage. The two operating systems for this machine were the Time Sharing System (never more than a niche product) and Control Program/67 (CP/67) which was a true hypervisor. CP/67 had a end user operating system which ran as a guest "personal computer" called the Cambridge Monitor System (CMS) from the lab location (the IBM Cambridge Scientific Center near Boston). CP/57 evolved into VM/370 on IBM S/370 in 1972 and continues to exist today as z/VM on IBM's System z9 and zSeries mainframes. z/VM is used today in customers all over the world to support 100s of Linux guest images as well as other "traditional" zSeries operating systems. I have been working with the "real" VM for over 32 years now.

    PS: IBM has filed for a trademark for "hypervisor" with the US PTO.
    vmlives
    • Spellcheck

      Of course CP/57 should have been CP/67
      vmlives