LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
Maquinas Virtuales
1. Arquitectura de
Software: Maquinas
Virtuales
Jesús Guzmán Mondragón
Héctor Morales Palma
Raxel Pichardo
Israel Romero García
2. Bitácora
¿Qué es una Maquina Virtual?
Características de una Maquina Virtual
Utilidad de las Maquinas Virtuales
Inconvenientes
Tipos de Maquinas Virtuales
Otras Opciones
3. ¿Qué es una maquina virtual?
Softwareque simula a una computadora
y puede ejecutar programas como si
fuese una computadora real.
“…unduplicado eficiente y aislado de
una máquina física…”
4. ¿Qué es una Maquina Virtual?
Eltérmino actualmente incluye a
máquinas virtuales que no tienen ninguna
equivalencia directa con ningún
hardware real
5. Características de una
maquina virtual
Los procesos que
ejecutan están limitados
por los recursos y
abstracciones
proporcionados por
ellas.
Estos procesos no
pueden escaparse de
esta "computadora
virtual".
6. Características de una
Maquina Virtual
Suelen ofrecer a un sistema
operativo la percepción de
una maquina física.
Las aplicaciones y los
usuarios dentro de la
máquina virtual se relacionan
con la capa de abstracción
y no con la plataforma real
7. Características de una
Maquina Virtual
La maquina virtual
puede implementar
diversos dispositivos
virtuales (disco,
dispositivos de red,
etc) diferentes a los
de la plataforma real.
8. Características de una
Maquina Virtual
Guest:
Sistema
Operativo de la
maquina virtual
Host:
Sistema
Operativo de la
maquina real
9. Características de una
Maquina Virtual
La maquina virtual
se comporta como
una aplicación
mas en el host
Elguest percibe la
maquina virtual
como si fuera
hardware real
11. Utilidad de las Maquinas
Virtuales.
Tecnología tradicional y
actual, con muchas utilidades.
Ejecutar aplicaciones hechas
para una plataforma sobre
una plataforma diferente: p.e
Microsoft Windows sobre Mac
OS, Java VirtualMachine
12. Utilidad de las Maquinas
Virtuales
Ofrecer un entorno seguro donde
experimentar (sandbox)
• Docencia
• Probar aplicaciones en desarrollo
• Probar aplicaciones o webs no
confiables
13. Utilidad de las Maquinas
Virtuales
Senuelos (Honeypots).
Empresas de hosting
pueden ofrecer servidores
virtuales (alimentación y
conectividad redundante,
soporte 24/365, etc)
14. Utilidad de las Maquinas
Virtuales
Respaldo.
Seguridad.
Portabilidad.
Independencia del Hardware.
15. Inconvenientes de las
Maquinas Virtuales
Agregan gran complejidad al sistema en
tiempo de ejecución.
Ralentización del sistema
El programa no alcanzará la misma
velocidad de ejecución
La flexibilidad que ofrecen compensa esta
pérdida de eficiencia
16. Tipos de Maquinas Virtuales -
Emulación Completa o
Virtualización Completa
No solo emulan memoria, disco y otros
dispositivos, sino también la CPU:
Alemular la CPU, son especialmente
lentos. La arquitectura Intel tradicional
ofrecía muy pocas facilidades
Permitenque guest y host trabajen en
arquitecturas diferentes
17. Tipos de Maquinas Virtuales -
Emulación Completa o
Virtualización Completa
Ejemplos: QEMU, Bochs.
Emulan una CPU intel, incluso cuando se
ejecutan sobre intel.
Ambos son libres, disponibles para diversos
hosts.
Pueden ejecutar distintos guest, pero
siempre para intel
18. Tipos de Maquinas Virtuales -
Virtualización
Se emula memoria virtual, disco y dispositivos
Ejemplo: VMware emula tarjeta de audio
SoundBlaster 16 y tarjeta ethernet AMD PCnet
II.
Cualquier aplicación en el guest percibe este
hardware
No se emula la CPU. Por tanto guest y host
tienen que usar la misma arquitectura
19. Tipos de Maquinas Virtuales -
Virtualización
VMware
Software propietario, muy maduro
Las versiones básicas son freeware
host: Windows, Linux. Prevista una versión
para Mac OS
guest: Prácticamente cualquier SO para
intel
La versión superior es un verdadero SO, no
se ejecuta sobre un host, sino directamente
sobre el hardware
21. Tipos de Maquinas Virtuales -
Virtualización
Virtual PC
Software propietario, algunas versiones son
freeware
El guest puede ser prácticamente cualquier SO
para intel
Dos versiones
1. Para hosts Microsoft Windows. Es un
virtualizador
2. Para hosts Mac OS. Es un emulador. Los Mac
OS basados en
PowerPC solo tenían esta opción
22. Tipos de Maquinas Virtuales -
Virtualización
Parallels Desktop
Virtualizador para los Mac OS basados en
Intel
guest soportados: Microsoft Windows, Linux,
FreBSD, Sun Solaris y algunos otros
23. Tipos de Maquinas Virtuales –
User Mode Linux
UML. No confundir con Unified Modeling
Language
Es un tipo de maquina virtual muy diferente a
las anteriores: Un núcleo Linux ligeramente
modificado para ejecutarse como un
proceso de usuario sobre otro núcleo Linux
Permite ejecutar diferentes versiones de Linux
sobre diferentes versiones de Linux
Los dispositivos del guest no están
virtualizados. Por tanto en el guest se percibe
el hardware real
24. Tipos de Maquinas Virtuales –
User Mode Linux
Netkit
Entorno basado en UML para emular redes:
PCs, routers, conmutadores
Software libre, desarrollado por la
Universidad de Roma
25. Tipos de Maquinas Virtuales –
Paravirtualizacion
Similara la virtualización, pero exige un
versión ligeramente modificada del guest
El rendimiento es normalmente mayor
que el de los tipos anteriores
Xen
Hay una versión libre que permite Linux
sobre Linux
Hay versiones comerciales que permiten
Windows sobre Windows
26. Tipos de Maquinas Virtuales –
Virtualización Nativa
Es una emulación completa, pero
realizada por la CPU con lo que el
rendimiento es próximo al nativo
Exige soporte en la CPU
KVM: Kernel-based Virtual Machine
Técnica muy prometedora, gran desarrollo
en la actualidad
Es necesaria una CPU Intel VT o AMD-V
(tecnologías aparecidas en 2006).
27. Otras opciones
La funcionalidad que hemos descrito
también puede conseguirse con técnicas
alternativas, sin usar maquinas virtuales.
jaulas chroot. Se cambia el directorio raíz que
percibe un proceso, de forma que no puede
acceder fuera de cierto directorio. No se aísla
el acceso a otros procesos, memoria, CPU,
red u otros dispositivos
28. Otras Opciones
Simuladores.Simulan algunas
caracterısticas del comportamiento
externo de un sistema. P.e. simuladores
de red (GloMoSim, JSIM, ns-2, OPNET,
OMNet, etc)