I want to know more about virtuallization technology and what the difference is between hardware and software virtualization.

  • 1
    Check wikipedia – MicTech Mar 9 '10 at 6:57
  • I suggest you edit your title (make it match your question). – Nathaniel Mar 9 '10 at 6:59
  • I made a question out of your one sentence, but it would be helpful to add more information like what you want this info for and what problem you're trying to solve – Ivo Flipse Mar 9 '10 at 7:05

Just to provide a short answer, which can get you started on more detailed articles/materials.

Virtualization is a process of simulating a specific computer/device/environment on a different one. A few examples:

  1. Nintendo emulator which you can run on your PC
  2. Windows XP mode in Windows 7
  3. a virtual web server which runs on a distributed platform (cloud hosting example)

Key terms:

  • Guest (operating) system: the system which is being virtualized
  • Host (operating) system: the base system which runs one or more virtualized systems ("guests")

In context of the examples above:

  • guests: (1) Nintendo; (2) Windows XP; (3) virtualized web server
  • hosts: (1) PC's operating system which runs the emulator; (2) Windows 7; (3) distributed/cloud platform

Software vs. Hardware virtualization:

  • In case of software virtualization, the host system needs to completely emulate guest's platform (i.e. ranging from hardware, CPU instructions, through its firmware and even the operating system /if there is one/). The advantage is that host and guest platforms are independent (our example of the Nintendo emulator). The disadvantage is that this approach is very slow and resource consuming (since we have to emulate everything).

  • Hardware(-assisted) virtualization provides a significant performance gain over software virtualization by running some guest code directly on the host hardware with limited or none assistance from the host system - the hardware however needs to support this (search for Intel VT or AMD-V). The disadvantage over software virtualization is that the guest and host systems need to use the same platform (i.e. you cannot use hardware virtualization for our Nintendo example).

Hope this helps!

NB: I'm not an expert on the topic - as others have pointed our, you can find more precise information via Google. I'm making this a community wiki, so anyone please feel free to edit/correct anything which you find unclear/wrong. Thanks!


A Comparison of Software and Hardware Techniques for x86 Virtualization

Google Search - Results 1 - 10 of about 5,780,000 for hardware and software virtualization. (0.26 seconds)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy