Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

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

share|improve this question
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
add comment

2 Answers 2

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!

share|improve this answer
    
+1 Good overview. –  Umber Ferrule Mar 9 '10 at 22:31
add comment

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)

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.