Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Virtualizacion Articulo 1 15
Virtualizacion Articulo 1 15
la posibilidad de ejecutar
programas de usuario dentro
de un entorno virtual sin tener
que modificarlos
04
software
tecnologas
artculo
Qu es la virtualizacin?
Antes de empezar a hablar de los diferentes tipos de virtualizacin
hara falta concretar a qu nos referimos cuando hablamos de
virtualizacin, puesto que se trata de un trmino muy genrico que
se puede emplear para referirse a cosas diferentes (para ver algunas
acepciones se puede consultar el trmino en la Wikipedia:
http://en.wikipedia.org/wiki/Virtualization).
En este documento hablaremos de la virtualizacin de plataforma
o virtualizacin de servidores, es decir, la capacidad de ejecutar en
un nico equipo fsico, el anfitrin (host en ingls), mltiples sistemas
operativos invitados (guests en ingls).
La idea bsica es tener la posibilidad de ejecutar programas de
usuario dentro de un entorno virtual sin tener que modificarlos.
Tipos de virtualizacin
- MAME: http://mamedev.org/
- QEMU: http://bellard.org/qemu/
Ejemplos:
- KVM:
http://kvm.qumranet.com/
Paravirtualizacin
- Linux-VServer: http://www.linux-vserver.org/
- OpenVZ: http://www.openvz.org/
Bochs (<http://bochs.sourceforge.net/>)
Es un emulador de arquitecturas basadas en x86 que funciona en
mltiples plataformas; el mayor inters de Bochs es que es capaz de
emular un PC completo incluyendo los perifricos y funciona en
prcticamente cualquier sistema anfitrin (por ejemplo se puede usar
para emular un PC en un Linux que se ejecuta en una arquitectura
PowerPC, Alpha, SPARC o MIPS).
El problema de este sistema es que es muy lento, a pesar de que las
ltimas versiones van mejorando la velocidad de emulacin empleando
tcnicas de optimizacin como las descritas en el artculo Virtualization
without Direct Execution or Jitting: Designing a Portable Virtual Machine
Infrastructure de Darek Mihocka y Stanislav Shwartsman, disponible en:
http://bochs.sourceforge.net/Virtualization_Without_Hardware_Final.pdf
QEMU (<http://bellard.org/qemu/>)
QEMU es un emulador similar a Bochs que tiene dos modos de
funcionamiento, uno de emulacin de sistema completo y otro de
emulacin en modo usuario.
En el modo de sistema completo el programa emula un equipo entero
(por ejemplo un PC basado en microprocesadores x86 o x86_64)
incluyendo mltiples procesadores y perifricos. Este modo se usa
para ejecutar sistemas operativos completos. En las ltimas versiones
del programa se soportan ms de 15 arquitecturas diferentes.
Arquitectura de KVM
KVM (<http://kvm.qumranet.com/>)
KVM (Kernel Virtual Machine) es una solucin de virtualizacin completa
en la que se utiliza el ncleo de Linux como hipervisor, de manera que
tanto el control de los dispositivos reales, como la planificacin de
tareas y la gestin de memoria del sistema anfitrin las hace el ncleo
de Linux.
En este modelo las mquinas virtuales son procesos normales del
sistema (por esto la gestin de memoria y la planificacin de procesos
son las estndar del sistema) a los que aadimos un modo de ejecucin
adicional (invitado), a parte de los modos de ejecucin estndar de
Linux (usuario y ncleo).
As, una mquina virtual tendr tres modos de ejecucin:
- Modo invitado: ser el modo de ejecucin normal para el cdigo
del sistema invitado siempre que no tenga operaciones de
entrada/salida.
- Modo usuario: slo lo usaremos para ejecutar las operaciones de
entrada/salida del sistema invitado, nos permitir gestionar
dispositivos virtuales a nivel de usuario.
- Modo ncleo: se usar para entrar a trabajar en modo invitado
y para gestionar las salidas desde modo usuario causadas por
operaciones especiales o de entrada/salida.
07
herramientas
tecnologia
Xen (<http://www.xen.org/>)
Xen es una solucin de paravitualizacin
que implementa un hipervisor que se
ejecuta en el nivel ms privilegiado de la
mquina y que bsicamente se hace cargo
de la planificacin de tareas y de la gestin
de memoria, delegando la gestin de la
Entrada/Salida en un invitado privilegiado
(llamado domain 0 o dom0 en Xen) que
arranca siempre que lanzamos el hipervisor
y que en las distribuciones de GNU/Linux
que incluyen Xen es normalmente una
versin modificada del ncleo de Linux.
de virtualizacin
08
Linux-VServer (http://www.linux-vserver.org/)
El Linux-VServer es un sistema de virtualizacin a nivel de sistema
operativo que se implementa como una serie de parches sobre el
ncleo de Linux.