Ideally virtualization is transparent to guest OSes
  -  Common principle in mainframe design
  
 -  Nearly impossible with i386 design
  
 -  Running unmodified OSes is horribly tricky
    
      -  Trapping priviledged calls
      
 -  Dynamic code rewrite
    
 
   -  Those tricks kills performances in some scenarii