Virtualization

From Wikipedia, the free encyclopedia

Jump to: navigation, search

Virtualization is a term that refers to the abstraction of computer resources:

  • Virtual machine (VM), a software implementation of a machine (computer) that executes programs like a real machine
    • Platform virtualization, which separates an operating system from the underlying platform resources
      • Full virtualization, sensitive instructions replaced by binary translation or trapped by hardware - all software can run in the VM, e.g. IBM's CP/CMS, VirtualBox, VMware Workstation
      • Hardware-assisted virtualization, CPU traps sensitive instructions - runs unmodified guest OS; used e.g. by VMware Workstation, Xen, KVM
      • Partial virtualization, for specific applications rather than the operating system
      • Paravirtualization, a virtualization technique that presents a software interface to virtual machines that is similar, but not identical, to that of the underlying hardware, thereby requiring guest operating systems to be adapted, e.g. Xen in early stage
      • Operating system-level virtualization, a method where the operating system allows for multiple user-space instances (virtual hosting, chroot jail + resource management)
    • Application virtualization, the hosting of individual applications on alien hardware/software
  • Virtual memory, which allows uniform, contiguous addressing of physically separate and non-contiguous memory and disk areas
  • Storage virtualization, the process of completely abstracting logical storage from physical storage
  • Network virtualization, creation of a virtualised network addressing space within or across network subnets
    • Virtual private network (VPN), a computer network in which some of the links between nodes are carried by open connections or virtual circuits in some larger network(s), such as the Internet
    • Memory virtualization, aggregates RAM resources from networked systems into virtualized memory pool
  • Desktop virtualization, the remote manipulation of a computer desktop
  • Database virtualization, the decoupling of the database layer, which lies between the storage and application layers within the application stack
  • Timeline of virtualization development, further work in this area

[edit] See also