Full virtualization

From Wikipedia, the free encyclopedia

Jump to: navigation, search
Screenshot of one virtualization environment

In computer science, full virtualization is a virtualization technique used to provide a certain kind of virtual machine environment, namely, one that is a complete simulation of the underlying hardware. In such an environment, any software capable of execution on the raw hardware can be run in the virtual machine and, in particular, any operating systems. Other forms of platform virtualization allow only certain or modified software to run within a virtual machine. The concept of full virtualization is well established in the literature, but it is not always referred to by this specific term; see platform virtualization for terminology.

An important example of full virtualization was that provided by the control program of IBM's CP/CMS operating system. It was first demonstrated with IBM's CP-40 research system in 1967, then distributed via open source in CP/CMS in 1967-1972, and re-implemented in IBM's VM family from 1972 to the present. Each CP/CMS user was provided a simulated, stand-alone computer. Each such virtual machine had the complete capabilities of the underlying machine, and (for its user) the virtual machine was indistinguishable from a private system. This simulation was comprehensive, and was based on the Principles of Operation manual for the hardware. It thus included such elements as instruction set, main memory, interrupts, exceptions, and device access. The result was a single machine that could be multiplexed among many users.

Full virtualization is only possible given the right combination of hardware and software elements. For example, it was not possible with most of IBM's System/360 series with the exception being the IBM System/360-67; nor was it possible with IBM's early System/370 system until IBM added virtual memory hardware to the System/370 series in 1972.

Similarly, full virtualization was not quite possible with the x86 platform until the 2005-2006 addition of the AMD-V and Intel VT-x extensions (see x86 virtualization). Many platform virtual machines for the x86 platform came very close and claimed full virtualization even prior to the AMD-V and Intel VT-x additions. Examples include Adeos, Mac-on-Linux, Parallels Desktop for Mac, Parallels Workstation, VMware Workstation, VMware Server (formerly GSX Server), VirtualBox, Win4BSD, and Win4Lin Pro. VMware, for instance, employs a technique called binary translation to automatically modify x86 software on-the-fly to replace instructions that "pierce the virtual machine" with a different, virtual machine safe sequence of instructions; this technique provides the appearance of full virtualization.[1]

A key challenge for full virtualization is the interception and simulation of privileged operations, such as I/O instructions. The effects of every operation performed within a given virtual machine must be kept within that virtual machine – virtual operations cannot be allowed to alter the state of any other virtual machine, the control program, or the hardware. Some machine instructions can be executed directly by the hardware, since their effects are entirely contained within the elements managed by the control program, such as memory locations and arithmetic registers. But other instructions that would "pierce the virtual machine" cannot be allowed to execute directly; they must instead be trapped and simulated. Such instructions either access or affect state information that is outside the virtual machine.

Full virtualization has proven highly successful for a) sharing a computer system among multiple users, b) isolating users from each other (and from the control program) and c) emulating new hardware to achieve improved reliability, security and productivity.

[edit] See also

[edit] References

See specific sources listed under platform virtualization and (for historical sources) CP/CMS.

[edit] External links

Personal tools
Namespaces
Variants
Actions
Navigation
Interaction
Toolbox
Print/export
Languages

Bookmark & Share

Rooh.ItX
.netShoutout
100zakladok
2 Tag
2linkme
7Live7.com
A1‑Webmarks
Add.io
Adifni
Aero
AIM Share
All My Faves
Amazon
Amen Me!
AOL Mail
Arto
Ask
Aviary Capture
Baang
Baidu
Bebo
Bentio
BiggerPockets
Bit.ly
BizSugar
Bleetbox
Blip
Blogger
Bloggy
Blogmarks
Blogtrottr
Blurpalicious
Boardlite
Bobrdobr
BonzoBox
Bookmarked
BookmarkingNet
Bookmarky.cz
Bookmerken
Bordom
Box.net
Brainify
Bryderi.se
BuddyMarks
Buzzzy
Camyoo
Care2
Chiq
Cirip
CiteULike
ClassicalPlace
Clickazoo
Cndig
Colivia.de
Connotea
COSMiQ
Delicious
DesignBump
Designmoo
Digg
Digg Tiger
Diggita
Diglog
Digo
Diigo
Dipdive
DoMelhor
Doower
Dosti
DotNetKicks
Douban
Drimio
Dropjack
Dwellicious
Dzone
Edelight
eKudos
elefanta.pl
eLert Gadget
Email
Email App
Embarkons
euCliquei
Evernote
extraplay
EzySpot
Fabulously40
Facebook
Fark
Farkinda
FAVable
Faves
favlog
Favorites
Favoritus
Flaker
Floss.pro
Fnews
Folkd
FollowTags
fooxweb
forceindya
Fresqui
FriendFeed
Friendster
funP
fwisp
Gabbr
Gacetilla
Gamekicker
GamesN
GlobalGrind
GluvSnap
Gmail
Google
Google Buzz
Google Reader
Gravee
GreaterDebater
Grono.net
Grumper
Haber.gen.tr
Hacker News
Hadash Hot
Hatena
Hazarkor
Hedgehogs
HelloTxt
HEMiDEMi
Hipstr
Hitmarks
Hot Bookmark
Hotklix
Hotmail
HOTweb.lt
HTML Validator
Hyves
ideaREF!
Identi.ca
ihavegot
Informazione
Instapaper
iSociety
iWiW
Jamespot
Jisko
Jumptags
Kaboodle
Kaevur
Kipup
KiRTSY
Kledy
Kommenting
koornk
Kudos
Laaikit
Ladenzeile
Librerio
Link Ninja
Link-a-Gogo
LinkedIn
LinkShares
Linkuj.cz
Livefavoris
LiveJournal
LockerBlogger
Lynki
Mashbord
Mawindo
Meccho
meinVZ
Mekusharim
Memori.ru
Menéame
Messenger
Mindbodygreen
Mister Wong
Mixx
Moemesto.ru
mototagz
Multiply
myAOL
Mylinkvault
MySpace
N4G
NetLog
Netvibes
Netvouz
NewsTrust
Newsvine
Nujij
OKNOtizie
Oneview
Orkut
Osmosus
Oyyla
PDF Online
PDFmyURL
PhoneFavs
Picciz
PimpThisBlog
Ping.fm
Planypus
Plaxo
Plurk
Polladium
PopEdition
Posteezy
Posterous
Prati.ba
Print
PrintFriendly
Propeller
Pusha
Quantcast
Qzone
Read It Later
receeve.it
Reddit
Rediff MyPage
RedKum
Scoop.at
Segnalo
Sekoman
Shaveh
She Told Me
Simpy
Slashdot
Smak News
SMI
SodaHead
Sonico
Speedtile
Sphinn
Spoken To You
sportpost
springpad
Spruzer
Squidoo
Startaid
Startlap
StoryFollower
Strands
studiVZ
Stuffpit
StumbleUpon
Stumpedia
Stylehive
Surfpeople
Svejo
Symbaloo
TagMarks.de
Tagvn
Tagza
Technorati
TellMyPolitician
The Web Blend
Thinkfinity
ThisNext
Tip'd
Transferr
Translate
Tulinq
Tumblr
Tusul
TweetMeme
Twitter
TwitThis
Typepad
Viadeo
Virb
VisitezMonSite
vk.com
Vyoom
Webnews
Whois Lookup
Windy Citizen
WireFan
WordPress
Worio
Wovre
Wykop
Xanga
Y! Bookmarks
Y! Buzz
Y! Mail
Yammer
Yardbarker
Yazzem
Yigg
Yorumcuyum
Youbookmarks
YouMob
Zakladok.net
Zanatic
ZooLoo