Académique Documents
Professionnel Documents
Culture Documents
Mquinas virtuales
Mquina Virtual
Pgina 2
Caractersticas
Duplicado: La MV se debera comportar de
forma idntica a la mquina real, excepto por:
La existencia de menos recursos disponibles (incluso
Pgina 3
mquina virtual.
Pgina 4
Algo de historia
Idea bastante utilizada hasta los 70-80 en
mainframes.
Cae en desuso con el paso a computadores ms
pequeos.
Pgina 5
Pgina 6
MMV: Aplicacin
VM0
Virtual
Machines
(VMs)
App0
Guest OS0
VM1
VMn
App1
Guest OS1
...
Appn
Guest OSn
Processor/CS
I/O Devices
Pgina 7
Tipos de MMV
Clsico: El monitor se ejecuta directamente
sobre el hardware y los huspedes sobre el
monitor.
Indirecto: El monitor se ejecuta sobre un
sistema operativo y los huspedes sobre el
monitor.
VMware, Virtual PC, ...
Ejecucin de sistemas operativos en instancias de la
mquina virtual.
Menos eficiente.
Pgina 8
Requisitos
Una arquitectura es virtualizable si todas las
instrucciones sensibles son privilegiadas.
Instruccin sensible
Cambia el estado privilegiado o lo expone.
directamente.
Las instrucciones sensibles del huesped sean capturadas y
emuladas/simuladas por el MMV.
Ejecucin eficiente.
rea de Arquitectura y Tecnologa de Computadores
UNIVERSIDAD CARLOS III DE MADRID
Doctorado en Ingeniera Informtica Sistemas Operativos Avanzados
Curso 2005/2006
Pgina 9
Sobrecargas
VMM necesita mantener el estado privilegiado
de la mquina virtual.
Puede ser distinto del estado privilegiado de
hardware real.
virtual y real.
Tablas de pginas ocultas para virtualizacin de
Hardware.
Pgina 10
Problemas
x86: Muchsimos problemas
PUSH y PSW sensibles y no privilegiadas.
Tablas de descriptores de segmento y de interrupciones
en memoria virtual.
Descriptores de segmento exponen el nivel privilegiado.
Pgina 11
Virtualizacin impura
Solucin para arquitecturas no virtualizables y
para reducir los problemas de rendimiento.
Enfoques:
Paravirtualizacin.
Traduccin binaria.
Pgina 12
Paravirtualizacin
Portar el cdigo de SO huesped al ISA
modificado.
ISA
Aumentado con llamadas explcitas al MMV.
Eliminacin de instrucciones no virtualizables.
Inconvenientes
Esfuerzo de desarrollo.
Necesario repetir para cada combinacin de huesped,
ISA, MMV.
Hace falta cdigo fuente.
Pgina 13
Traduccin binaria
Localizar instrucciones no virtualizables en el
binario ejecutable y cambiarlas por cdigo de
emularcin o llamada a MMV.
Puede detectar combinaciones de instrucciones
Pgina 14
Memoria
Tablas de pginas en la sombra:
Huesped accede a tabla de pgina en la sombra.
MMV detecta cambios en tabla de pginas en la sombra y
Reclamacin de memoria
Carga de un pseudo-driver en el huesped.
Peticin de memoria al huesped.
MMV puede reusar esa memoria.
Comparticin de pginas
MMV detecta pginas con contenido indtico.
Pgina nica con COW (Copy On Write).
Mucho ahorro se se ejecutan varias instancias del mismo SO.
Pgina 15
Ventajas de la virtualizacin
Aislamiento
App1
App2
OS
Consolidacin
App1
OS
App2
App1
App2
App1
OS
OS1
OS2
OS1
HW1
HW2
VMM
HW
HW
App2
OS2
VMM
HW
Migracin
App
App
OS
OS
VMM
VMM
VMM
VMM
HW1
HW2
HW1
HW2
Pgina 16
SERVIDORES CLIENTES
Usos de la virtualizacin
Legacy SW Support
Training/QA
Activity Partitioning
Manageability
Server Consolidation
Failover infrastructure
Flexible Datacenter
Manageability
Pgina 17
Pgina 18
Desafos de MMV
VM0
App
VM1
App
...
App
Guest OS0
App
...
App
...
App
Guest OS1
VM Monitor
Platform Hardware
SO y Apps no saben
que el MMV existe o
que comparten CPU
con otras MV
MMV se ejecuta
protegida de las MV
Pgina 19
Modos de operacin
VMX root:
Totalmente privilegiado.
Pensado para MMV.
VMX non-root:
No privilegiado.
Pensado para SW husped.
Pgina 20
VM Exit
VM1
App
...
Guest OS0
VM Exit
App
...
Guest OS1
VM Entry
VM Monitor
App
Pgina 21
VT-x Operations
VM 1
VMX
Non-root
Operation
VM Exit
IA-32
VMX Root
Operation
VM 2
VM n
Ring 3
Ring 3
Ring 0
Ring 0
Ring 0
VMCS
1
VMCS
2
VMCS
n
...
Ring 3
Ring 3
VMRESUME
VMLAUNCH
VMXON
Ring 0
Pgina 22
Pgina 23
Beneficios de tecnologa VT
Reduce dependencia del SO
Elimina necesidad de traduccin binaria.
Facilita el soporte para SO antiguos
Mejora de robustez
Elimina la necesidad de tcnicas complejas
MMV ms pequeo y simple
Mejora de rendimiento
Menos transiciones a MMV
Pgina 24