Talk:Hypervisor

From Wikipedia, the free encyclopedia
Jump to: navigation, search
WikiProject Software / Computing  (Rated Start-class, High-importance)
WikiProject icon This article is within the scope of WikiProject Software, a collaborative effort to improve the coverage of software on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
Start-Class article Start  This article has been rated as Start-Class on the project's quality scale.
 High  This article has been rated as High-importance on the project's importance scale.
Taskforce icon
This article is supported by WikiProject Computing.
 

Omitted section on "TreVisor"[edit]

Aside from the YouTube article, there is no other reference on the web. An announcement of as-yet non-existant software with no other notable public presence does not seem to belong here. pbannister (talk) 21:52, 9 January 2012 (UTC)

Hypervisor vs VMM[edit]

This article seems to say that both Type 1 (direct to hardware) and Type 2 (leveraging intermediate OS API) Virtual Machine Monitors are hypervisors. I have seen, however, where some say ([1]) that the term hypervisor should only apply to Type 1 VMMs. For example, supposedly MS is moving to a hypervisor Type 1 VMM model with their next OS (i.e., Vienna) as differentiated from the current Type 2 VMM Virtual PC model. If so, should the article be revised to emphasize that a hypervisor is specifically a Type 1 VMM? Albanaco 23:19, 14 February 2007 (UTC)

Useful ACM reference[edit]

Adding another reference, which ought be worked in: an ACM article on virtual machines (though in usage, it applies more to this hypervisor page) http://acmqueue.org/modules.php?name=Content&pa=showpage&pid=168 69.181.82.43 17:23, 31 October 2007 (UTC)

Type 1 / Type 2 distinction[edit]

Reference (1) (the IBM whitepaper) that creates the Type 1 / Type 2 difference is suspicious ... the whitepaper is from 2005, well after the modern resurgence of hypervisors began. The whitepaper concerns itself with differentiating IBM's hypervisor offerings from other hypervisor approaches (Microsoft, VMware, and Xen are mentioned specifically), and employs the questionable technique of introducing new terminology (Type 1 / Type 2) in lieu of existing differentiators (native or bare-metal / hosted). I have not seen a Type 1 / Type 2 distinction in any virtualization literature prior to this whitepaper, and the lack of such a distinction in many academic publications is notable.

Perhaps this IBM whitepaper does meet authoritativeness standards (the Type 1 / Type 2 distinction is appearing in much press lately). Yet, if so, the absence of material from other hypervisor vendors (VMware and Xen have many academic publications, Microsoft also has whitepapers) is most conspicuous, and shows considerable biased towards IBM. 69.181.82.43 17:23, 31 October 2007 (UTC)

You're quite mistaken, the Type 1/2 (or, rather, Type I/II) distinction has been used in the scientific literature for decades, it is about as old as virtual machines themselves. It appears already in Goldberg, Architecture of Virtual Machines, AFIPS National Computer Conference 1973, and probably before that. So the IBM whitepaper is certainly not introducing new terminology. Whether it is the most appropriate reference is a different matter. And, given how old this distinction is, I would drop the work "currently" in the first sentence. Heiser 03:32, 3 November 2007 (UTC)
This section needs a picture like the article. Zhackwyatt (talk) 22:11, 26 June 2008 (UTC)

In his Article "Formal Requirements for Virtualizable Third Generation Architecture", Gerald J. Popek didn't distinct between type1/2 hypevisors. Especially not in the way claimed in the article. He introduced a distinction between virtual-machince systems and hybrid virtual machine systems. While the difference between those is that a hybrid virtual machine monitor intreprets all instructions in virtual supervisor mode. — Preceding unsigned comment added by 80.152.243.195 (talk) 12:00, 3 May 2013 (UTC)

Relationship with microkernels[edit]

This article and the microkernel article ought to say more about each other's subjects. IBM's VM and Xen are really microkernels. (Not sure about Parallels Workstation). Also, what Xen calls "paravirtualization", Parallels Workstation calls a "hypercall", and IBM VM calls a "DIAGNOSE code" are all really the same thing, a system call to the operating system below. Nagle (talk · contribs)

Xen also calls these calls "hypercalls", but as far as I know the concept of "paravirtualization" refers to any similar technique regardless of implementation or hypervisor. 85.194.50.194 10:23, 12 August 2007 (UTC)

History paragraph 2: IBM System/360[edit]

The S/360 was introduced in 1964, not "the late 1960s." It had "supervisor" and "problem" states, storage-key protection and interrupt handling, but not memory management (i.e. dynamic address translation, or DAT). Multitasking was possible from the beginning with S/360, but not full virtualization.

The S/360 Model 67, introduced in 1966, included DAT for the first time, making VM possible.

The 2nd paragraph should be specific about the 360/67, or go for a broader stroke and just talk about the S/370 architecture (intro'd in 1970), which had all of the necessary features for virtualization from the get-go.

Open-source ???[edit]

I don't think VM/CMS was ever open-source, as stated in the article. Whoever wrote this, care to elaborate? —Preceding unsigned comment added by JFG (talkcontribs) 09:36, 27 May 2006

The comment was added by Linas at 15:10 on 29 July 2005, and Linas knows whereof he speaks. The early releases of VM/CMS, known as VM/370 at the time, were in the public domain as per the famous IBM consent decree, which held sway until the Regan-era Dept. of Justice. How much more "open souce" can you get than public domain? On top of that, if you dig into the VM history (see especially Melinda Varian's excellant "VM and the Community" paper), you'll find that many of the important facilities in CP and CMS were designed, built, and shared around in the VM user community. That was true even long after the VM source code was resticted to licensees only. RossPatterson 15:39, 27 May 2006 (UTC)
Linas obviously knows much – as do you, Ross – but I think these details aren't quite correct. Let me have a go at summing up what I believe to be the case.
The first releases of VM/370 were not public domain, but were an IBM-proprietary reimplementation of CP/CMS. CP/CMS was distributed as IBM Type-III software, which was not public domain but was distributed to IBM customers at no cost and with no support. (This was before the famous IBM software unbundling event of 1969.) For all practical purposes it was in the public domain. I have been unable to find legal details on the dividing line.
I don't think IBM's 1956 Consent Decree had anything to do with placing software in the public domain. It did create restrictions on IBM's ability to sell services, and segrated IBM service organizations. The Justice Department continued with antitrust investigations until 1982 (some details are at www.hagley.lib.de.us).
I expect that what both you and Linas are referring to is the peculiar status enjoyed by CP/CMS in its early days as Type-III software, after its submittal by MIT's Lincoln Laboratory to the library – in what Dave Tuttle characterizes as clever "collusion" to work around the IBM politics that had dismissed time-sharing in preference to batch processing as the way of the future. As Type-III software, it could be used freely by any IBM customer, and quickly spread a time-sharing culture through commercial and academic sites, and spawned at least two notable time-sharing vendors (National CSS and IDC) using the OS as a basis for reselling computer time. (NCSS transformed the CP/CMS base so much that it became a new proprietary OS, VP/CSS, which continued to be developed independently of the VM world until the mid 80s. It outperformed contemporary VM systems by a factor of perhaps two to one.)
It has been asserted (and seems likely) that the growth of the time-sharing industry and the VM user community was a major factor in IBM's 1972 addition of virtual memory to the S/370 product line – something that had originally and contentiously been omitted. With the announcement of virtual storage, IBM also announced VM/370 as a product, which Dave Tuttle describes as involving a complete reimplementation of CP-67. I have been unable to determine whether there was a period when VM/370 was Type-III software, but I don't think so; the history of IBM product announcements makes it look like a normal product.
As I believe you know, I am working on a revision of these various articles (VM/CMS, S/360-67, etc.), to try to get the historical timeline and details correct, and especially to get them cited back to good references, since there is a lot of folklore about the events. You are correct in calling attention to Varian's excellent SHARE paper. I have been speaking with her about trying to get it placed on WikiSource or some other permanent home, instead of leaving it on her Princeton personal webpage. (She retired last year.) Please do pass along any good historical resources that you run across for me to include. I'm especially interested in "reputable" citations, i.e. books and academic journals. Unfortunately most of the material of interest is from just before the onset of on-line documents, making it hard to track down article text from, say, the early 70s. Fortunately IBM posts its research journal text back to the 50s. Trevor Hanson 18:57, 12 October 2006 (UTC)

Dave Tuttle speaks[edit]

Trevor, I happened upon this just today. I do have some knowledge of the subject, but little experience with Wikipedia. -- Dave Tuttle, http://home.comcast.net/~Viewpt 71.248.178.228 22:29, 12 October 2006 (UTC)

Terminology first: The original S/360-era virtual machine system was CP-40, a research project developed at the IBM Cambridge Scientific Center (CSC), based on an experimental, modified S/360 Model 40. Next came CP-67/CMS, an adaptation of CP-40 for the S/360 Model 67, developed at CSC with active collaboration from MIT Lincoln Labs and one or two other outside parties. CP-67/CMS version 3 was the base release contributed to the Type III Library in June, 1969. After the June 23, 1969 unbundling, the CP-67/CMS Development Group split off from the CSC. VM/370 (Virtual Machine Facility/370) was developed by that group, as an official IBM System Control Program (SCP) release that was announced on August 2, 1972 along with all of the System/370 "VS" (Virtual Storage) hardware and software.

Note that before the June 23, 1969 "unbundling", all IBM software was freely available to IBM customers - distributed and supported primarily in binary form. All of the major elements of CP-67/CMS and the first 'N' releases of VM/370 were distributed in full source form, along with the tools to (re)build the kernels and many of the command-line programs. Language processors and some other user-mode programs were distributed in binary form, since they were "borrowed" from the OS/360 software. Updates were provided as source patches, to be applied or not at the cutomer's choice. Problem reports (APAR's - Authorized Program Analysis Report) were often received with the fix provided, in source form; one variety of APAR was an Enhancement Request. A large number of fixes and extensions were originated "in the field" and in other parts of IBM, then verified and redistributed on a subsequent PLC (Program Level Change) tape. If that does not qualify as "Open Source", I don't know what would. It predated the GPL by several decades.

According to the terms of the 1969 unbundling, System Control Program (SCP) software was available without additional charge to any IBM customer. System Product Program (SPP) software was extra-cost, ordered separately, and supported for a fee. The source restrictions and charging for operating system software came about much later.

BTW, the term "hypervisor" was most likely coined by me in late 1971, during CP development for VM/370. We had to pick new source filenames and external symbol names for all of the CP functions, to conform to IBM SCP nomenclature. One of the modules I wrote was the handler for the Diagnose instruction, and I called it DMKHVC, for Hypervisor Call. Dave Tuttle 00:56, 13 October 2006 (UTC)

Hokey smokes, yes you do indeed have "some knowledge" of the subject! Melinda Varian said I should look to you for input; but I hadn't expected you to pop up here, like a genie, in answer to my wish. What a nice surprise. You have provided much good detail here, for which I am grateful. And of course your past input elsewhere, to people like Varian and Tom Van Vleck, has been invaluable.
As I said above, I'm trying to pull together a coherent series of articles about CP-40, CP-67, CSC, Lincoln Labs, etc. that put this important period in the correct light, and hopefully assemble correct facts backed up by good citations. A couple of Wikians have jumped in as well, so I have high hopes for achieving good coverage within a couple of months. The text is currently in private 'sandboxes' while I am pulling things together, but I hope to start pushing material out shortly. (I would also like to lift some of your comments verbatim, and plunk them in.) Much source material is not easily available on-line, and some first- and second-person memoirs have some factual details wrong, so this has been an interesting project.
I would greatly appreciate the chance to pick your brain as questions develop. Perhaps email would be more convenient? Anyway, perhaps I can begin with four questions:
  1. One comment you were quoted as having made (on Tom Van Vleck's The IBM 360/67 and CP/CMS page) was that "VM/370-CP was a complete redesign and new implementation." I was surprised to read that, because I had thought a good deal of CP-67 code remained in VM/370. When you say "new implementation" can you characterize the amount of actual new source code? 100%? 75%? I realize that your "carried over significant portions of CMS" but I want to be clear on the CP situation.
  2. An old colleague of mine, who was at MIT in 'the day,' maintains: a) that CP/CMS development inadvertently received some MIT or DoD or public funding; b) that this clouded the ownership of the source code; and c) that this was one reason CSC had Lincoln Lab submit the system for Type-III listing (in addition to what you describe as friendly 'collusion' to evade IBM politics over time-sharing). I'm sure my friend tells the folklore correctly, though that doesn't make it true. I can't find any other mention of this issue, but it is plausible. Perhaps MIT contracts with CSC were used to pay some IBM headcount? Or perhaps there were tangible project contributions made by non-IBM personnel? Anyway, does the topic of 'CP/CMS as public domain' ring any bells?
  3. I find two conflicting descriptions of Type-III software: "customer-submitted" and "IBM employee submitted." My recollection is fuzzy; the key practical issue was of course that it was unsupported, "as-is" software, but I seem to recall seeing contributions from the Labs and from IBM SEs, as well as from customers. I can't seem to find any definitive IBM documents about the Type-III library, nor any decent list of major Type-III software through the years (I remember HASP, CP/CMS, the JOVIAL compiler, and I think a version of SCRIPT, but I know there were lots of others). Any thoughts about where to turn for more about the history of the Type-III library?
  4. I know that the unbundling event was pivotal in all of this, but unfortunately I have forgotten most of the details I used to know about it. (It was just a little before my time, though I certainly remember it and its consequences.) Do you know of any good source material that could clarify what it meant in terms of the CP/CMS-to-VM/370 timeline? In fact, source material on all these topics would be a boon. I am especially fascinated by CP-40, which must have been the most amazing project, really breaking new ground.
I am very grateful that you have weighed in here. This will make my job easier. By the way, let me encourage you to submit any substantive papers or memoirs to WikiSource so that they'll have a permanent home. If you do, kindly let me know so I can cite them in the appropriate places. I have asked Melinda to consider doing this with her excellent SHARE paper.
BTW I was at National CSS in the 70s, where of course I knew Mike Field, Bob Jesurum, Dick Bayles, and other familiar CSC/MIT names.

Thanks again - Trevor Hanson 20:47, 13 October 2006 (UTC)

(I've been fighting with the formatting codes; still a newbie vis-a-vis Wiki markup... Dave Tuttle)

  1. CP-67 vs VM-CP - If you really want a percentage, it's most likely in the range of 98-99% "new" code. The basic functions were largely dictated by the S/360 and S/370 hardware architecture, but conforming to the SDD standards for SCP development meant that we had to revisit and update every line of code. Also remember that CP-40 was a research project for a unique piece of hardware; the S/360-67 had a different DAT architecture, and the S/370-AF machines were even more different. The VM/370-CP was designed to be a production operating system with a full collection of error handling, exception recovery, logging, and serviceability features that were never present in the earlier software. CP-40 supported one machine, period, with a fixed maximum number of virtual machines. CP-67 (as released) supported one model with known characteristics. VM/370 was required to support a wide range of machine speeds, configurations, and model-dependent characterisitics. The decision to start over with a new CP structure was both deliberate and well-advised.
  2. CP-67 Code Status - Mostly nobody cared about "ownership" of software in today's (litigious, often silly) terms. Software patents did not exist and Intellectual Property lawsuits were not part of the software landscape. All that aside, it was before the days of standardized data exchange formats and common interfaces. If you owned an IBM computer, you could get software for it. If you didn't own one, the software for it was of limited use. If you were a member of a computer-related organization (AFIPS, SHARE, GUIDE, ACM, etc.), you had access to a large collection of software -- in machine-specific formats. There may have been a standard copyright notice in the CP-67 code, but I doubt it. Software source was either handled as Trade Secret (undisclosed) or handled as any other academic / professional publication. Citations and attribution were expected, but there were no legal barriers to use, reuse, or derivative works. Significant portions of CP-67 and CMS, over the years, were contributed by other groups, both within IBM and outside.
  3. The Type III Library - When I started corresponding with Melinda back in the 1980's, I didn't have the Internet as an easy reference and source of reminders. Most likely the distinction between Type I, Type II, and Type III programs was in the level of warranty and support provided by IBM. Type I was fully warranteed and supported (e.g. OS/360); Type II was an intermediate level, perhaps for packages such as ASP (Attached Support Processor); Type III was clearly caveat emptor material, to be used on your own recognizance. In the same timeframe, both SHARE and GUIDE maintained large libraries of software that was freely available to members, supported (or not) by the authors or by the SHARE/GUIDE project. I do know for a fact that the CP-67 code submitted to the Type III library in June of 1969 was not submitted directly from the CP-67/CMS support group at CSC; there may have been an internal cutoff date (for "employee" contributions) that was earlier than the external cutoff (for "customer" contributions). I was only 20 at the time and had been working at CSC for only 9 months, so I was not personally involved in the details -- but Dick Meyer and Love Seawright certainly were involved; I heard the news from them.
  4. Events of June 1969 - Melinda Varian's paper has some information about it, I am sure; the earlier versions (1989 and 1991) are longer than some of the later ones. From the inside, the unbundling event was initially viewed as the begining of a death sentence for the Scientific Centers and the open collaboration with universities which had been the modus operandi for the preceding years. I know that it stifled wider release of some of my own work, and that led fairly directly to my decision to 'jump ship' from the CSC to the CP-67 group. The key element was a recategorization of all IBM software into either SCP (System Control Programming: essential to the normal operation of the hardware and, thus, still available at no additional charge) or PP (Program Product: non-essential, business-related, for a fee, subject to competition from other suppliers, etc.) The great Microsoft Web-browser debate was a replay of the same generic issue. The difficulty was the lack of a third category; internally, IBM did not have a mechanism for determining what should or could be a Program Product, nor did it have an established set of lighter-weight procedures for smaller scale projects. Many useful things, such as Script/370 Version 2, ended up as 'IBM Internal Use Only' because there was no mechanism to make them generally available.

Dave Tuttle 21:04, 15 October 2006 (UTC)

References on Early Hypervisor Work[edit]

The 1989 and 1991 versions (which I have in hardcopy and PDF, respectively) of Melinda Varian's paper, VM and the VM Community: Past, Present, and Future, contain a wealth of references to original material, but finding extant online sources is more difficult. The IBM Systems Journal is a valuable resource, but all of the earlier articles are scanned images in PDF form. It is time-consuming and somewhat error-prone to transcribe the citations. These few are selected items from an article published in 1972, one of the best bibliographies:

R. P. Parmelee, T. I. Peterson, C. C. Tillman, and D. J. Hatfield, "Virtual storage and virtual machine concepts," IBM Systems Journal, vol. 11, no. 2 (June 1972)

47. R. J. Adair, R. U. Bayles, L. W. Comeau, and R. J. Creasy, A Virtual Machine System for the 360/40, IBM Corporation, Cambridge Scientific Center, Report No. 320-2007 (May 1966).

One of the first papers describing the implementation of the virtual machine concept. An IBM System/360 Model 40 was modified with an associative memory to provide dynamic translation of addresses, and a control program was developed to allocate resources of the host machine to the virtual machines. Multiprogramming and multiprocessing tasks could then be studied in terms of machine utilization.

53. CP-67/CMS, Program 360D-05.2.005, International Business Machines Corporation, Program Information Department, Hawthorne, New York (June 1969).
68. R. A. Meyer and L. H. Seawright, "A virtual machine time-sharing system," IBM Systems Journal, vol. 9, no. 3, pp199-218 (Septmber 1970).

Describes the CP-67/CMS system, outlining features and applications.

70. D. Sayre, On Virtual Systems, IBM Thomas J. Watson Research Center, Yorktown Heights, New York (April 15, 1966).

An early paper emphasizing the multiprogramming aspects of virtual machines. Results are shown for multiprogramming with the IBM M44/44X system.

83. R. W. O'Neill, "Experience using a time-shared multiprogramming system with dynamic address relocation hardware," AFIPS Conference Proceedings, Spring Joint Computer Conference 30, pp611-621 (1967).

Describes the experimental IBM M44/44X system, reporting performance measurements taken to establish dependence of core requirements on page size and running time on core size (parachor curve). Also discussed are effects of multiprogramming and time-sharing on performance.

Dave Tuttle 17:25, 15 October 2006 (UTC)

Thanks for more useful input. I have been mining the old scanned IBM journals, which I discovered just a couple of weeks ago. There are many good sources there – scanned images are far better than nothing. (I wish I still had all the old AFIPS Proceedings that used to sit on my shelf; their space was reclaimed many years ago, along with old IBM manuals. I still have a TSS manual though.) Any other input you care to provide will be gratefully received, particularly about the transition from CP/CMS to VM/370, and the folklore about CP's public funding/public domain status. Trevor Hanson 18:10, 15 October 2006 (UTC)
As time permits, I will try to fill in some of the blanks. I happen to have had personal experience with the Yorktown M44/44X system as a terminal user, during a 1966 summer job (Research Department, Tunnel and Bridges Division, Port of New York Authority). My unofficial and (later) sanctioned work at the MIT Computation Center, 1966 to 1968, gave me hands-on experience with CTSS, IBSYS, the SHARE library, OS/360-PCP, and ASP v1. Much more recently (1999) I started a job at NorthStar Internetworking and discovered VMware v1.0 running on my Linux desktop, but I never paid much attention to the internals of it (old hat to me, though they had to solve some problems with the Intel-based PC architecture). From 2000 to 2003 I had the opportunity to do a lot of work with ExOS and XOK, from the MIT ExoKernel project. I also spent most of a year at Katana Technology (now Virtual Iron Software) working on a different flavor of virtualization. Dave Tuttle 22:07, 15 October 2006 (UTC)

Mainframe origins[edit]

The following statement really wasn't right, so I have replaced it:

Hypervisors were originally developed in the early 1970s, when cost reduction was forcing multiple scattered departmental computers to be consolidated into a single, larger computer — the mainframe — that would serve multiple departments.

Scattered departmental computers as suggested by this statement really only emerged in the 80s. The mainframes of the late 60s and early 70s were a logical progression from the large machines of the previous generation, e.g. IBM 7xx/7xxx. Computer expenditures during this period were not subject to cost reductions, but cost expansions – as new functions from throughout enterprises were being automated. If you disagree, please cite examples. Trevor Hanson 20:46, 26 October 2006 (UTC)

Great job of editing! Thanks. As discussed in the early IBM Research and IBM CSC reports, development of the virtual machine approach was very much a part of the broader time-sharing trend. The underlying S/360 architecture was primarily designed for User / Supervisor protection for multiprogramming and multitasking; the fact that it was completely virtualizable was a natural but perhaps unintended consequence. Remember also that the IBM System/360 family of processors were among the first microcode-controlled computers. The concept of an invalid instruction did not exist in the IBM 7xx/7xxx series; instruction decode was hard-wired, leading to 7 or 8 editions of the IBM 70x0 Principles of Operation manual as new, useful instructions were discovered and characterized. Dave Tuttle 20:41, 28 October 2006 (UTC)

I wasn't happy with the characterization of the -67 as having been built for virtualization; that was obviously a fortuitous outcome, due to a number of very smart, thoughtful people who were in the right place at the right time. (It's amazing how many times I read conflated descriptions of the -67, CP/CMS, and VM, with no reference to such important topics as TSS, CP-40, or MIT.) However, I wasn't trying to rewrite the section – just to address some fact-related issues. It's easy to start to fix something that seems minor, but to wind up opening a can of worms. (This happened with me on the S/370 article recently.) Eventually, we should be able to get all these related articles in synch, and accurate. (It is exciting to think that this same process is going on in ten thousand separate WikiPedia threads – in twenty years, if flame wars and text vandalism don't kill such efforts, we could really have an Encylopedia Galactica of high accuracy. Trevor Hanson 09:04, 30 October 2006 (UTC)
By the way, if you are inclined, you should leap in and correct the text. The WikiPedia advice to editors is: Be Bold. Some of the comments you made above would be good additions to the article itself, rather than just here in the discussion. Trevor Hanson 09:12, 30 October 2006 (UTC)

Xbox 360 security architecture?[edit]

I pulled up this page because the term "hypervisor" comes up frequently in discussing the Xbox 360 game console's security architecture (especially with the recent announcement of a vulnerability in the hypervisor). I believe the term is used in the sense described in the main article, but no reference is made to the system. Could somebody with a little background knowledge add a few lines about this use of a hypervisor? —The preceding unsigned comment was added by 144.51.111.1 (talk) 15:35, 6 March 2007 (UTC).

Xen: type 1 or type 2 hypervisor?[edit]

I don't know much about the subject, so I may be wrong, but in this page Xen is classified as a "type 1 hypervisor", i.e., running on hardware, but in the Xen page it says "It is software that runs on a host operating system". Either one of those statements is wrong, or I'm misunderstanding something. Any thoughts? PoisonedQuill 10:21, 5 April 2007 (UTC)PoisonedQuill

Yeah. My understanding is that there are two true hypervisor types. One is just a basic virtualization system like VMWare Workstation. Then there are those that truly run directly on the hardware. They either would have no "host os", have a highly striped down operating system as the OS (not a general purpose OS), or have a special bootstrapping mechanism. It is important that the second type not be running a full general purpose operating system, because otherwise it would be the first type. I had thought based on what I had read about Xen, that it used a special bootstrapping mechanism. A fairly normal OS (with a bit of special support for Xen) is started. Then the user may start the Hypervisor. The hypervisor would work with the OS Kernel to root the machine, and transfer the OS to operating under it. At that point the OS is just a client OS like all the others, and can be started, stopped, paused, etc. That is a very powerful concept. (Think start GNU/Linux. Start Hypervisor. Start Windows. Switch the display/keyboard etc over to using Windows. Shut down GNU/Linux. Windows is still running, and one could start the GNU/Linux again later.) It sounds like Xen may not actually work like that. Can anybody explain? Tacvek 17:34, 16 August 2007 (UTC)
I'm thinking that XEN is listed as type 1, because XenSource packages use it as one. In other words, you have a minimal Linux install that is not used except to run Xen. You run all your programs in client OS's. This is similar to the system VMWare ESX uses. However, it seems that one can use Xen as a type 2 hypervisor also. (i.e. you are using the Host OS as a full OS). Tacvek 17:43, 16 August 2007 (UTC)
That's sort of an x86 thing. IBM's VM will run on the bare hardware or under IBM's VM. So you can boot VM under VM, which is useful for operating system development. VM under VM under VM... works, too,although it's not too useful. The x86 family, even with either AMD or Intel virtualization hardware support, doesn't offer a hardware interface which looks like the bare machine with virtualization hardware, so you can't do that on x86. --John Nagle 18:37, 16 August 2007 (UTC)
Did you reply to the correct topic? The question here is if the Xen is type 1 or type 2. To implement type 1 the Hypervisor must either run directly on the hardware or be running under a minimal host that is not being used as operating system by anthing but the hypervisor. The latter is how VMWare's VSX works. Type 2 virtualization is when the Host OS is being used as a full os, and there may be one or more client OS's. This is what parallels, VMWare Workstation, and qemu do. It looks like Xen can be used with a minimal host OS to act as a Type 1 hypervisor, or can be used as type 2 hypervisor. The question had nothing to do with running VM's inside VM's. Tacvek 20:22, 18 August 2007 (UTC)
Reading closely, it looks like XEN truely is a type one hypervisor in some sense. The host OS is effectively running within Xen, but is considered special by XEN. XEN uses it to manage networks and other things. As a result many calls by the "Host" OS that Xen would otherwise trap and redirect end up getting run directly. So the host is not truely a pure host as in the case of Qemu, but is something with extremely close ties to the hypervisor. Tacvek 20:43, 18 August 2007 (UTC)
Xen runs bare metal, with a special guest OS (DOM0), which is typically Linux with privileged hardware access and can control the Hypervisor. There's some confusion in this discussion between the Hypervisor (that controls and arbitrates between guest Operating Systems), and the privileged DOM0 Operating System. The Hypervisor itself is clearly bare metal.

Goodiok[edit]

Hi all!

Very interesting information! Thanks!

Bye —Preceding unsigned comment added by 62.141.58.163 (talk) 09:30, 21 September 2007 (UTC)

Original NT Architecture?[edit]

Wasn't Windows NT originally intended to be a microkernel architecture? Is that relevant to this article? Helen Custer's book describes that architecture, but I don't believe it was actually released in that form, due to performance concerns. DonPMitchell 20:38, 22 September 2007 (UTC)

NT has a hybrid kernel, i.e., it mostly conforms to the microarchitecture style but with certain deviations for performance concerns (the network, audio and video stack ran in kernel mode, with Vista audio is in user mode along with half the video stack). But I fail to see how is that relevant to this article.--soum talk 09:39, 23 September 2007 (UTC)

Malware usage[edit]

Shouldn't it be mentioned that malware can make use of hypervisor technology to catch system calls and tamper with their results in order to hide files, settings and registry values? Afaik some rootkits use virtualisation and hypervisor technologies. BluePill and SubVirt are two mentioned in the "Virtualized" section of the Rootkit article. Should this not at least be linked to? 87.112.79.101 (talk) 12:42, 18 July 2008 (UTC)

OKL4 is NOT the only one running in a mobile phone right now[edit]

Grundig Mobile U900 and NXP Nexperia 7210 Linux are using the Virtual Logix VLX hypervisor. Additionately this article should mention that the Sony XPERIA X1 uses an OKL4 (much more pupolar than a toshiba mobile phone) —Preceding unsigned comment added by 217.10.60.85 (talk) 11:27, 24 September 2008 (UTC)

Depends on your definition of "running in a mobile phone." The Grundig and Nexperia are, to my knowledge, just reference designs. I am not aware of any phone having shipped to end users with VLX.
Correct, OKL4 runs on many other phones, not just the Toshiba, and not just the X1. It runs in my latest phone (the G1 — first Android phone) as well as my previous one, the HTC TyTN-II, plus many others from LG, Samsung, etc. Over 250 million shipped...
heiser (talk) 19:06, 25 February 2009 (UTC)

Boot Camp[edit]

Apple's Boot Camp is an official Windows hypervisor (layer 1) for Mac OS X. I don't see the article have any reference to Boot Camp. Cn this be added? --macbookair3140 (talk) 01:35, 2 February 2009 (UTC)

As far as I can tell, Boot Camp is pretty much some installer utilities plus a Boot Loader, rather than a hypervisor. It allows your computer to boot to either Windows or OSX based on a selection at boot time, but you can only run one of them at the time, and once they are launched they are running directly on the hardware without any hypervisor layer in between. --Ploer (talk) 02:06, 2 July 2009 (UTC)

Plain Talk[edit]

Could someone please explain the meaning of the phrase "VMware supplements the slowest rough corners of virtualization with device drivers for the guest."?

The overall article needs a little more clarity and simplicity. Perhaps some examples would be useful. It would be wise to start with simple definitions and then go into detail.

Is this a candidate for merging with Virtulization? - KitchM (talk) 20:32, 8 November 2009 (UTC)

Seriously, this article sounds like obfuscation for consulting and marketing purposes. Angry bee (talk) 19:30, 6 June 2010 (UTC)

PS3[edit]

ps3 has a hypervisor to limit the cores used if running linux (according to the ps3 wiki) this should be added. Though I don't have links or knowledge, so I won't. that is all. —Preceding unsigned comment added by 71.17.212.57 (talk) 00:11, 14 November 2009 (UTC)

Microsoft Hyper-V[edit]

Microsoft Hyper-V is available in two versions, as a free stand-alone system (internally containing a lot of Windows Server stuff) and as part of the (not free) Windows Server product. See here: http://www.microsoft.com/hyper-v-server/en/us/default.aspx

"Customers can use Microsoft Hyper-V Server 2008 R2 for the following scenarios ... Customers should use Windows Server 2008 R2 to get application failover capabilities ..."

That's why I think it should be listed as being both type 1 and type 2. I'll change the article (again) tomorrow unless there are objections. --RenniePet (talk) 23:15, 22 February 2010 (UTC)

Introduction warning obsolete?[edit]

The page carries a warning that the introduction does not adequately summarise the topic. The introduction seems fine to me. I think it's unavoidable that it's technical since a hypervisor is somewhat esoteric to the layperson. I suggest the warning is removed. 217.110.34.4 (talk) 15:13, 27 July 2010 (UTC)


Improved Lead[edit]

I changed the lead to make it clearer to non-specialists, and more accessible to the (large majority of) people who know nothing about IBM mainframes. I propose removing the warning about the introduction, as per the poster above.

Dan Shearer (talk) 13:20, 11 October 2010 (UTC)

Article Needs Work[edit]

The body of the article needs to be improved to reduced confused concepts, especially under "UNIX and Linux servers" and "PC and Desktop Systems". There is no reference to Linux paravirt_ops , no reference to Xen being a portable hypervisor (it runs on three architectures, at least) and need to explain where the concept popularly described as "Linux is the Hypervisor" fits in. Dan Shearer (talk) 13:27, 11 October 2010 (UTC)

Update: I couldn't find the PowerPC port for Xen in the source tree, sure enough, it's been pulled: see http://wiki.xensource.com/xenwiki/XenPPC . Xen ARM still exists but I'm not convinced about how much life is in the project. Ok, so Xen is more portable than ported, not a lot more to say :-)
Dan Shearer (talk) 13:39, 11 October 2010 (UTC)
Re "UNIX and Linux servers" and "PC and Desktop Systems".
I think it would be clearer if these sections were considered in terms of x86 architecture platforms rather than as server and desktop.
What do you think?
--SimonBramfitt (talk) 19:16, 19 January 2013 (UTC)

Citations[edit]

I have removed the following citations from the introduction

^ Don Skiba, author of this addition, was the instigator for the RPQ in 1965 ^ Documentation for IBM RPQ E880801

this is anecdotal evidence only

--SimonBramfitt (talk) 00:12, 30 January 2013 (UTC)

History[edit]

I'm deleting

==History==
The term "hypervisor" was first used in 1965, referring to software that accompanied an IBM RPQ for the IBM 360/65. It allowed the model IBM 360/65 to share its memory: half acting as an IBM 360 and half as an emulated IBM 7080. The software, labeled "hypervisor," did the switching between the two modes on split-time basis. The term hypervisor was coined as an evolution of the term "supervisor," the software that provided control on earlier hardware.

I've not found anything that confirms the claim that hypervisor was coined in 1965. The text has no valid citations (see previous section) and is contradicted by Dave Tuttle above.

--SimonBramfitt (talk) 19:14, 30 January 2013 (UTC)

KVM type 2 hypervisor[edit]

In the article KVM is listed as a Type 1 hypervisor, but BHyVe that's exactly the same as KVM for FreeBSD is listed as a Type 2. That arrises the question of why is KVM listed as a Type 1 hypervisor?

Also VirtualBox and VMware Workstation work in the same way as KVM, but are also listed as Type 2, so either everything is Type 1 (and we loose the Type 1/Type 2 differentiation), or KVM is moved to Type 2. — Preceding unsigned comment added by Roger.pau (talkcontribs) 14:02, 10 July 2013 (UTC)

Hello, Roger. Welcome to Wikipedia.
Please sign your messages by adding ~~~~ at the end.
I am not familiar with KVM and BHyVe but I am perfectly sure that VirtualBox and VMware Workstation are both hosted (type 2) hypervisors. That said, I am afraid your second paragraph is a bit of false dichotomy. Someone familiar with the subject needs to investigate and find out the correct answer.
Best regards,
Codename Lisa (talk) 15:04, 11 July 2013 (UTC)
Hello, sorry for not putting the ~~~~ at the end.
IMHO KVM turns Linux into an hypervisor using exactly the same hardware mechanisms as VirtualBox turns Mac OS X into an hypervisor, VMware Workstation turns Windows into an hypervisor or BHyVe turns FreeBSD into an hypervisor (they all use the same x86 hardware virtualization extensions).
88.9.20.28 (talk) 11:57, 12 July 2013 (UTC)
Hi. VirtualBox and VMware Workstation do not turn Mac OS X or Windows into hypervisors. They are hypervisors themselves. On Windows, they run in user space and killing their process ends the entire hardware virtualization chain. I have even seen and used VirtualBox as a portable app! They are textbook examples of type 2.
User:Jandalhandler has added further clarifications. Best regards, Codename Lisa (talk) 20:19, 12 July 2013 (UTC)
Both VirtualBox and VMware Workstation load a kernel module that allows them to make use of the x86 processor virtualization extensions, and then they run a userspace program that is the device model emulation, and again this is just like KVM, that uses a kernel module to access the virtualization extensions and then runs Qemu in userspace to provide the device model emulation, if you kill the userspace Qemu process you effectively kill the VM.46.33.159.2 (talk) 14:14, 15 July 2013 (UTC)
Hi. That is completely true. VirtualBox loads vboxdrv.sys, VMware Workstation loads vmx86.sys and Virtual PC loads vpcmm.sys. But a kernel driver still runs on top of HAL. In bare-metal hypervisor, however, HAL has to run on top of hypervisor, performing hardware abstraction as VMM sees fit, exposing what VMM exposes. And besides, these drivers don't do the bulk of virtualization task. Just imagine how funny would it be if VMware wanted to write everything in Native API.
But again, as I said before, I do not know anything about KVM. So, since I can't discuss it, I can't compare it either and this whole discussion is futile unless you wait for or solicit the aid of someone who knows.
Best regards,
Codename Lisa (talk) 21:55, 15 July 2013 (UTC)
There's no official literature on what defines a Type 1 or 2 hypervisor as far as I am concerned. However, the fundamental concept is clear to everyone and evident from the figure in the wikipedia article Hypervisor. Furthermore, IBM has a publication that supports the concept and is available here: [2]. Based on all that, I think it is irrelevant if certain kernel modules make the base OS behave like a hypervisor; it remains the base OS and is not a hypervisor in the same sense that Xen or ESXi are today. I agree with Roger that KVM should be classified as a Type 2 hypervisor. I feel the article should clearly state this fact and the clarifications added recently are not enough. Franciozzy (talk) 14:29, 19 July 2013 (UTC)
I think that there have been enough technical arguments to move KVM to Type 2 and remove the KVM note at the bottom of "Classification". If anyone has any doubts or technical arguments of why KVM should be a Type 1, please say so.Roger.pau (talk) 12:11, 22 July 2013 (UTC)
Hi. It appears you are not fully aware how things work in Wikipedia. Although decisions on Wikipedia are made based on consensus (which is clearly absent here), core Wikipedia policies take precedence. There is a source that indicates there is – or have been – a dispute as to whether KVM is type 1 or type 2 hypervisor. According to the core policy of neutrality, we do not issue a verdict as to who is right of who is wrong. We report both significant points of view impartially, without commenting on them. So, sorry, no! What you suggest violates the NPOV policy. Best regards, Codename Lisa (talk) 15:36, 22 July 2013 (UTC)
Hello, I would agree with you if there was a technical discussion here, but you (or anyone else) failed to provide any technical arguments on why should KVM be classified as a Type 1 hypervisor. Could you please point me to your technical argument on why we don't have a consensus regarding why KVM is not a Type 2 hypervisor? The only reference on why KVM is a Type 1 hypervisor is a Graduate Thesis which doesn't contain any kind of technical arguments on why KVM should be classified as a Type 1 hypervisor.Roger.pau (talk) 15:56, 22 July 2013 (UTC)
Hi. I did not fail because I did not even attempt a discussion. (I refrained from discussing KVM.) That said, inserting material on articles based on technical discussions is not allowed in Wikipedia. The KVM has two sources. So, it should stay that way. A dissertation has all the qualities that is expected of a reliable source: Educated author, editorial oversight (academic oversight, to be accurate) and contents. (See WP:SCHOLARSHIP) If you have another source, present it, so we can cover it.
Best regards,
Codename Lisa (talk) 08:21, 23 July 2013 (UTC)