Jump to content

Talk:Popek and Goldberg virtualization requirements: Difference between revisions

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia
Content deleted Content added
No edit summary
No edit summary
Line 15: Line 15:


I agree, I clicked on the link to this page to get the list of requirements but was met with a fluffed up version of what was stated on the linking page.
I agree, I clicked on the link to this page to get the list of requirements but was met with a fluffed up version of what was stated on the linking page.


----

"The Popek and Goldberg virtualization requirements are a set of necessary and sufficient conditions for a computer architecture to efficiently support self-virtualization..."

This statement is logically contradictory to the following one:

"It is possible for a computer that does not satisfy the Popek and Goldberg virtualization requirements to support a virtual machine, but generally this requires a much more complex virtual machine monitor program and imposes a higher performance penalty."

As stated on the link to [[Necessary and sufficient conditions]] if the first statement is true, then the only way for a computer architecture to efficiently support self-virtualization is to meet the Popek and Goldberg virtualization requirements. It is then stated that there is another way for a computer to support self-virtualization without satisifying P&G. Can't have it both ways.

Revision as of 16:02, 16 November 2005

It would be nice to have a summary of the requirements, examples of processors that do and do not meet the requirements, and explanations of why some do not.

Architectures that do not meet the Popek and Goldberg virtualization requirements:

  • IBM System/360
  • Motorola MC68000
  • Intel x86

Architectures that do meet the Popek and Goldberg virtualization requirements:

  • IBM System/370
  • Motorola MC68010

Example of an architectural change to support virtualization:

  • On the Motorola MC68000, the instruction move from status register was not a privileged instruction, but inspected a portion of the privileged machine state. Thus it was not possible for a hypervisor to efficiently trap that instruction when executed by a guest operating system in order to provide the virtual machine status register in place of the host machine status register. The MC68010 fixed this by making move from status register a privileged instruction, and adding a new unprivileged instruction move from condition code register which could be used to read only the portion of the status register not containing privileged state.


I agree, I clicked on the link to this page to get the list of requirements but was met with a fluffed up version of what was stated on the linking page.



"The Popek and Goldberg virtualization requirements are a set of necessary and sufficient conditions for a computer architecture to efficiently support self-virtualization..."

This statement is logically contradictory to the following one:

"It is possible for a computer that does not satisfy the Popek and Goldberg virtualization requirements to support a virtual machine, but generally this requires a much more complex virtual machine monitor program and imposes a higher performance penalty."

As stated on the link to Necessary and sufficient conditions if the first statement is true, then the only way for a computer architecture to efficiently support self-virtualization is to meet the Popek and Goldberg virtualization requirements. It is then stated that there is another way for a computer to support self-virtualization without satisifying P&G. Can't have it both ways.