Results 1 to 2 of 2

Thread: VMware and x86 virtualization

  1. #1
    Join Date
    Mar 2005
    Location
    Portland, OR
    Posts
    523

    VMware and x86 virtualization

    x86 virtualization

    x86 virtualization is the method by which x86-based "guest" operating systems are run under another "host" x86 operating system, with little or no modification of the guest OS.



    The x86 processor architecture did not originally meet the Popek and Goldberg virtualization requirements. As a result, it was very difficult to implement a general virtual machine on an x86 processor.
    In 2005 and 2006, extensions to their respective x86 architectures by Intel and AMD resolved this and other virtualization difficulties.



    VMware


    On February 8, 1999, VMware introduced the first x86 virtualization product, "VMware Virtual Platform", based on earlier research by its founders at Stanford University. VMware filed for a patent on their techniques in October 1998,VMware and similar virtualization software for the x86 must employ binary translation techniques to trap and virtualize the execution of certain instructions. These techniques incur some performance overhead as compared to a VM running on a natively virtualizable architecture such as the IBM System/370 or Motorola MC68020.

    Microsoft offers three Windows-based x86 virtualization products: Microsoft Virtual PC and Microsoft Virtual Server, based on technology they acquired from Connectix, as well as Hyper-V. (Hyper-V and Networking)

    The research systems Denali, L4, and Xen explored ways to provide high performance virtualization of x86 by implementing a virtual machine that differs from the raw hardware.

    Operating systems are ported to run on the resulting virtual machine, which does not implement the hard-to-virtualize parts of the actual x86 instruction set. This technique is known as paravirtualization. As of 3.0 Xen also now supports full virtualization with an unmodified guest OS provided hardware-assisted virtualization support


    CPU Virtualization


    Server Virtualization

    • full virtualization - guest OS is unmodified and believes it is running on the same hardware as the host OS
    • para virtualization - guest OS is modified, as with Xen






    full virtualization

    * Hypervisor contains the Virtual Machine Monitor (VMM)
    * Guest OS unchanged, Host can be any kind of hardware
    * Guest uses generic device drivers



    VMware can vrtualize any x86 operating system u sing a combination of binary translation and direct execution techniques. This approach, depicted in Figure translates kernel code to replace non virtualizable instructions with new sequences of instructions that have the intended effect on the virtual ha rd ware.Meanwhile, user level code is directly executed on the
    processor for high performance virtualization. Each virtual machine monitor provides ea ch Virtual Ma chine with all the services of the physical system, including a virtual BIOS, virtual devices and virtualized memory management


    para virtualization:

    * Guest OS requires paravirtualized drivers
    * Thin layer for hypervisor, guest has access to Host hardware
    * Host any kind of hardware


    Para virtualization is different from full virtualization , where the unmodified OS do es not kn ow it is virtualized and sensitive OS calls are
    trapped using b nary translation . The value proposition of para virtualization is in lower virtualization overhead, but the performance advantage of paravirtualization over full virtualization can vary greatly depend in g on the workload. As paravirtualizatio n can not support
    unmodified operating systems ( e. g. Windows 2000/X P), its compatibility and portability is poor.Para virtualizatio n ca n also introduce significant support and maintain ability issues in production environmen ts as it requires deep OS kernel modification s. The op en source Xen project is an
    example of para virtualization that virtualizes the processor and memory using a modified Linux kernel and virtualizes the I/O using custom guest OS device d rivers.While it is very difficult to build them ore sophisticated binary translation support necessary for full virtualization, mod ifying the guest OS to enable para virtualization is relatively easy .

  2. #2
    Join Date
    Mar 2005
    Location
    Portland, OR
    Posts
    523

    Re: VMware and x86 virtualization

    Hardware Assisted Virtualization:


    Hard ware vendors are rapidly embracing virtualization and developingn ew features to simplify virtualization techniques. First generation enhancements include Intel Virtualization Technolog y (VT-x) and AMD ’s
    AMD-V which both target privileged instructions with a new CPU execution
    mode feature that allows the VMM to run in a new root mode below ring 0. As depicted in Figure , privileged and sensitiv e calls are set to automatically trap to the hypervisor ( Hyper-V and Networking ), removing the need for either binary translation or paravirtualization . The guest state is stored in Virtual Machine Control Structures (VT-x) or virtualization Virtual Machine Control Blocks (AMD-V).
    Processors with Intel VT and AMD-V became available in 2006, so only newer system s contain these hardware assist features.



    Memory Virtualization:

    To run multiple virtual machines on a single system , another level of memory virtualization is required.In other words, one has to virtualize the MMU to sup port the guest OS. The guest OS continues to control the mapping of virtual addresses to the guest memory physical addresses, but the guest OS cannot have direct access to the actual machine memory.The VMM is responsible for mapping guest physical memory to the actual machine memory, and it uses shadow page tables to accelerate the mappings.


    As depicted by the red line in Figure, the VMM uses TLB hardwa re to map the virtual memory directly to the machine memory to a void the two levels of translation on every access. When the guest OS changes the virtual memory to physical memory mapping, the VMM updates the shadow page
    tables to enable a direct look up. MMU virtualization creates some overhead for all virtualization approaches, but this is the area where second generation hardware assisted virtualization will of fer efficiency gains.

    Device and I/O Virtualization:


    The final component required beyond CPU and memory virtualization is device an d I/ O virtualization .



    This involves managing the routing of I/O requests between virtual devices and the shared physical hardware. Software based I/ O virtualization and management, in contrast to a direct pass-through to the hardware, enables a rich set of features and simplified management. With networking for example, virtual NICs and switches create virtual networks between virtual machines without the network traffic consuming bandwidth on the physical network, NIC teaming allows multiple physical NICS to appear as one and fail over transparently for virtual machines, and virtual machines can be seamlessly relocated to different systems using VMotion while keeping their existing MAC addresses. The key to effective I/O virtualization is to preserve these virtualization benefits while keeping the add ed CPU utilization to a minimum .

Similar Threads

  1. VMware workstation 8 for windows- full screen VMware player
    By Benedykt in forum Windows Software
    Replies: 3
    Last Post: 24-09-2011, 10:22 PM
  2. Replies: 11
    Last Post: 14-09-2011, 11:52 PM
  3. BackTrack - Installing vmware-tools in vmware-fusion
    By SoftWore in forum Tips & Tweaks
    Replies: 1
    Last Post: 12-05-2010, 03:25 PM
  4. Install VMware virtualization on your mobile phones
    By Gluteus in forum Portable Devices
    Replies: 2
    Last Post: 21-11-2008, 08:15 PM

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Page generated in 1,727,345,139.20587 seconds with 17 queries