# Hipervisor

Um hipervisor, ou monitor de máquina virtual, é um software, firmware ou hardware que cria e roda máquinas virtuais (VMs). O computador no qual o hipervisor roda uma ou mais VMs é chamado de máquina hospedeira (host), e cada VM é chamada de máquina convidada (guest). O hipervisor se apresenta aos sistemas operacionais convidados como uma plataforma de virtualização e gerencia a execução dos sistemas operacionais convidados.
Dessa forma, permite utilizar, ao mesmo tempo, diferentes sistemas operacionais (sem modificar ou modificá-los em caso de paravirtualização) no mesmo computador. É uma extensão de termo anterior, «supervisor», que se aplicava aos kernels dos sistemas operacionais.

## História

Os hipervisores foram originalmente lançados no início da década de 1970 quando, para reduzir custos, se consolidavam vários computadores de diferentes departamentos da empresa em uma única grande máquina —o mainframe— capaz de servir a múltiplos setores. Ao correr múltiplos sistemas operacionais de uma vez, o hipervisor permite uma consolidação dando robustez e estabilidade ao sistema; ainda que um dos sistemas operacionais colapse, os outros continuarão trabalhando sem falhas.
O primeiro computador desenhado especificamente para a virtualização foi o mainframe IBM S/360 Modelo 67. Esta característica de virtualização é considerado uma norma da linha que seguiu IBM S/370 e suas sucessoras, incluindo a série atual.
A necessidade de consolidar os diferentes servidores de hoje e de uma administração simplificada tem feito renovar o interesse na tecnologia de hipervisores. A imensa maioria de vendedores de sistemas Unix, incluindo Sun Microsystems, HP, IBM e SGI têm comercializado hardware virtualizado desde a década de 2000. Apesar da eficiência desses sistemas, são extremamente onerosos.
Um dos primeiros hipervisores de PC foi lançado em meados da década de 1990, e se chamou Vmware. A arquitetura x86 usada na grande maioria dos sistemas de PC é particularmente difícil de virtualizar ( vide virtualização x86). Porém, grandes companhias, como AMD e Intel, estão incorporando extensões que redirecionarão as partes ineficientes ou deficientes de virtualização de x86, proporcionando um apoio adicional ao hipervisor. Este permite um código simples de virtualização e um maior rendimento para uma virtualização completa.

## Tipos

Os hipervisores classificam-se em dois tipos.

### Tipo 1, Bare Metal

Também denominado nativo, unhosted o bare metal (sobre o metal nu), é software que se executa diretamente sobre o hardware, para oferecer a funcionalidade descrita.
Alguns dos hipervisores tipo 1 mais conhecidos são:
* VMware: ESXi (grátis), VMware ESX (Software comercial)
* Xen (livre)
* Citrix XenServer (grátis)
* Microsoft Hyper-V Server (grátis)
* Nutanix AHV (grátis)
* KVM (Kernel-based Virtual Machine) (grátis)

### Tipo 2, hosted

Também denominado hosted, é software que se executa sobre um sistema operacional para oferecer a funcionalidade descrita.
Alguns dos hipervisores tipo 2 mais utilizados são:
* Oracle: VirtualBox (grátis), VirtualBox OSE (livre)
* VMware: Workstation (comercial), Server (grátis), Player (grátis)
* QEMU (livre)
* oVirt (livre)
* DRDS (livre)
* Microsoft: Virtual PC, Virtual Server