La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

UNIVERSIDAD CARLOS III DE MADRID Área de Arquitectura y Tecnología de Computadores Sistemas Operativos Avanzados Máquinas virtuales.

Presentaciones similares


Presentación del tema: "UNIVERSIDAD CARLOS III DE MADRID Área de Arquitectura y Tecnología de Computadores Sistemas Operativos Avanzados Máquinas virtuales."— Transcripción de la presentación:

1 UNIVERSIDAD CARLOS III DE MADRID Área de Arquitectura y Tecnología de Computadores Sistemas Operativos Avanzados Máquinas virtuales

2 Área de Arquitectura y Tecnología de Computadores UNIVERSIDAD CARLOS III DE MADRID Doctorado en Ingeniería Informática – Sistemas Operativos Avanzados Curso 2005/2006 Página – 2 – Máquina Virtual Una máquina virtual (MV) es un duplicado de una máquina real, eficiente y aislado. Gerald J. Popek and Robert P. Goldberg. Formal requirements for virtualizable third generation architectures. CACM, 17(7):413–421, 1974.

3 Área de Arquitectura y Tecnología de Computadores UNIVERSIDAD CARLOS III DE MADRID Doctorado en Ingeniería Informática – Sistemas Operativos Avanzados Curso 2005/2006 Página – 3 – Características Duplicado: La MV se debería comportar de forma idéntica a la máquina real, excepto por: La existencia de menos recursos disponibles (incluso diferentes entre ejecuciones). Diferencias de temporización al tratar con dispositivos. Aislado: Se pueden ejecutar varias MV sin interferencias. Eficiente: La MV debería ejecutarse a una velocidad cercana a la del HW real. Requiere que la mayoría de las instrucciones se ejecuten directamente por el HW.

4 Área de Arquitectura y Tecnología de Computadores UNIVERSIDAD CARLOS III DE MADRID Doctorado en Ingeniería Informática – Sistemas Operativos Avanzados Curso 2005/2006 Página – 4 – Tipos de máquinas virtuales Máquinas virtuales por proceso Ejemplos: Java,.NET Framework Máquina virtual instanciada para un proceso. Cuando termina el proceso, termina la instancia de máquina virtual. Máquina virtual por sistema Virtualización ISA (Instruction Set Architecture). Ofrecen un entorno de ejecución completo.

5 Área de Arquitectura y Tecnología de Computadores UNIVERSIDAD CARLOS III DE MADRID Doctorado en Ingeniería Informática – Sistemas Operativos Avanzados Curso 2005/2006 Página – 5 – Algo de historia Idea bastante utilizada hasta los en mainframes. Cae en desuso con el paso a computadores más pequeños. Renace en esta década Seguridad. Vista uniforme de Hardware. Encapsulación. Replicación, checkpointing y reinicio, depuración,... Esto se parece mucho a lo que hace el SO.

6 Área de Arquitectura y Tecnología de Computadores UNIVERSIDAD CARLOS III DE MADRID Doctorado en Ingeniería Informática – Sistemas Operativos Avanzados Curso 2005/2006 Página – 6 – Monitor de Máquina Virtual (MMV) Programa que corre sobre el hardware real para implementar la máquina virtual. Control de recursos y planificación de huespedes. Implicaciones: MMV necesita ejecutarse en modo supervisor. Software huésped en modo usuario. Instrucciones privilegiadas de huespedes implican traps. MMV intrerpreta/emula instrucciones priviletiadas

7 Área de Arquitectura y Tecnología de Computadores UNIVERSIDAD CARLOS III DE MADRID Doctorado en Ingeniería Informática – Sistemas Operativos Avanzados Curso 2005/2006 Página – 7 – MMV: Aplicación MMV Capa de software de sistema Permite que se ejecuten varias MV sobre plataforma HW única Permite ejecutar aplicaciones sin modificar... Virtual Machine Monitor (VMM) VM n VM 0 VM 1 Platform HW I/O DevicesProcessor/CSMemory Virtual Machines (VMs) App n App 0 Guest OS 0 App 1 Guest OS 1 Guest OS n

8 Área de Arquitectura y Tecnología de Computadores UNIVERSIDAD CARLOS III DE MADRID Doctorado en Ingeniería Informática – Sistemas Operativos Avanzados Curso 2005/2006 Página – 8 – Tipos de MMV Clásico: El monitor se ejecuta directamente sobre el hardware y los huéspedes sobre el monitor. Indirecto: El monitor se ejecuta sobre un sistema operativo y los huéspedes sobre el monitor. VMware, Virtual PC,... Ejecución de sistemas operativos en instancias de la máquina virtual. Menos eficiente.

9 Área de Arquitectura y Tecnología de Computadores UNIVERSIDAD CARLOS III DE MADRID Doctorado en Ingeniería Informática – Sistemas Operativos Avanzados Curso 2005/2006 Página – 9 – Requisitos Una arquitectura es virtualizable si todas las instrucciones sensibles son privilegiadas. Instrucción sensible Cambia el estado privilegiado o lo expone. Esto permite que: Las instrucciones no sensibles del huesped se ejecuten directamente. Las instrucciones sensibles del huesped sean capturadas y emuladas/simuladas por el MMV. Ejecución eficiente.

10 Área de Arquitectura y Tecnología de Computadores UNIVERSIDAD CARLOS III DE MADRID Doctorado en Ingeniería Informática – Sistemas Operativos Avanzados Curso 2005/2006 Página – 10 – Sobrecargas VMM necesita mantener el estado privilegiado de la máquina virtual. Puede ser distinto del estado privilegiado de hardware real. VMM necesita simular instrucciones privilegiadas Sincronización de estados privilegiados de máquina virtual y real. Tablas de páginas ocultas para virtualización de Hardware.

11 Área de Arquitectura y Tecnología de Computadores UNIVERSIDAD CARLOS III DE MADRID Doctorado en Ingeniería Informática – Sistemas Operativos Avanzados Curso 2005/2006 Página – 11 – Problemas x86: Muchísimos 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. Itanium: Casi virtualizable Tabla de interrupciones en memoria virtual. Instrucción THASH expone la dirección de tabla de páginas. MIPS: Casi virtualizable Registros de nucleo k0 y k1 accesibles en modo usuario. Problemas de rendimiento al virtualizar direcciones KSEG

12 Área de Arquitectura y Tecnología de Computadores UNIVERSIDAD CARLOS III DE MADRID Doctorado en Ingeniería Informática – Sistemas Operativos Avanzados Curso 2005/2006 Página – 12 – Virtualización impura Solución para arquitecturas no virtualizables y para reducir los problemas de rendimiento. Enfoques: Paravirtualización. Traducción binaria.

13 Área de Arquitectura y Tecnología de Computadores UNIVERSIDAD CARLOS III DE MADRID Doctorado en Ingeniería Informática – Sistemas Operativos Avanzados Curso 2005/2006 Página – 13 – Paravirtualización Portar el código de SO huesped al ISA modificado. ISA Aumentado con llamadas explícitas al MMV. Eliminación de instrucciones no virtualizables. Inconvenientes Esfuerzo de desarrollo. Necesario repetir para cada combinación de huesped, ISA, MMV. Hace falta código fuente.

14 Área de Arquitectura y Tecnología de Computadores UNIVERSIDAD CARLOS III DE MADRID Doctorado en Ingeniería Informática – Sistemas Operativos Avanzados Curso 2005/2006 Página – 14 – Traducción binaria Localizar instrucciones no virtualizables en el binario ejecutable y cambiarlas por código de emularción o llamada a MMV. Puede detectar combinaciones de instrucciones sensibles y sustituir por una única emulación. No requiere código fuente. Permite que algunas emulaciones puedan hacerse en espacio de usuario.

15 Área de Arquitectura y Tecnología de Computadores UNIVERSIDAD CARLOS III DE MADRID Doctorado en Ingeniería Informática – Sistemas Operativos Avanzados Curso 2005/2006 Página – 15 – Memoria Tablas de páginas en la sombra: Huesped accede a tabla de página en la sombra. MMV detecta cambios en tabla de páginas en la sombra y sincroniza tabla de páginas real. Reclamación de memoria Carga de un pseudo-driver en el huesped. Petición de memoria al huesped. MMV puede reusar esa memoria. Compartición de páginas MMV detecta páginas con contenido indético. Página única con COW (Copy On Write). Mucho ahorro se se ejecutan varias instancias del mismo SO.

16 Área de Arquitectura y Tecnología de Computadores UNIVERSIDAD CARLOS III DE MADRID Doctorado en Ingeniería Informática – Sistemas Operativos Avanzados Curso 2005/2006 Página – 16 – Aislamiento Ventajas de la virtualización Consolidación Migración HW App 2 App 1 OS HW 1 HW 2 App 2 App 1 OS 1 OS 2 VMM HW App 2 App 1 OS 1 OS 2 VMM HW 1 App HW 2 VMM OS VMM HW 1 App HW 2 VMM OS VMM HW App 1 App 2 OS

17 Área de Arquitectura y Tecnología de Computadores UNIVERSIDAD CARLOS III DE MADRID Doctorado en Ingeniería Informática – Sistemas Operativos Avanzados Curso 2005/2006 Página – 17 – Usos de la virtualización Legacy SW Support Training/QA Activity Partitioning Manageability … Server Consolidation Failover infrastructure Flexible Datacenter Manageability … CLIENTES SERVIDORES

18 Área de Arquitectura y Tecnología de Computadores UNIVERSIDAD CARLOS III DE MADRID Doctorado en Ingeniería Informática – Sistemas Operativos Avanzados Curso 2005/2006 Página – 18 – Intel Virtualization Technology Conjunto de mejoras hardware a las plataformas Intel. Diseñado para simplificar el software de virtualización. Dos tecnologías: VT-x IA-32 CPU. VT-i Itanium

19 Área de Arquitectura y Tecnología de Computadores UNIVERSIDAD CARLOS III DE MADRID Doctorado en Ingeniería Informática – Sistemas Operativos Avanzados Curso 2005/2006 Página – 19 – Platform Hardware VM 1 VM Monitor VM 0 Guest OS 0 App... Guest OS 1 App... SO y Apps no saben que el MMV existe o que comparten CPU con otras MV MMV se ejecuta protegida de las MV Desafíos de MMV MMV debe aislar las MV entre si MMV debe presentar una interfaz a las MV

20 Área de Arquitectura y Tecnología de Computadores UNIVERSIDAD CARLOS III DE MADRID Doctorado en Ingeniería Informática – Sistemas Operativos Avanzados Curso 2005/2006 Página – 20 – Modos de operación VMX root: Totalmente privilegiado. Pensado para MMV. VMX non-root: No privilegiado. Pensado para SW huésped.

21 Área de Arquitectura y Tecnología de Computadores UNIVERSIDAD CARLOS III DE MADRID Doctorado en Ingeniería Informática – Sistemas Operativos Avanzados Curso 2005/2006 Página – 21 – Entrada y Salida de Máquinas virtuales VM Entry Transición de MMV a Huesped. Entra en modo non-root. Carga el estado del huesped. VMLAUNCH instrucción usada en entrada incial. VMRESUME instrucción usada en llamadas siguientes. VM Exit VMEXIT instrucción usada para pasar a MMV Entra en modo root Salva el estado del huesped Carga el estado de MMV Physical Host Hardware VM 1 VM Monitor VM 0 Guest OS 0 App... Guest OS 1 App... VM ExitVM Entry

22 Área de Arquitectura y Tecnología de Computadores UNIVERSIDAD CARLOS III DE MADRID Doctorado en Ingeniería Informática – Sistemas Operativos Avanzados Curso 2005/2006 Página – 22 – IA-32 Operation VT-x Operations Ring 0 Ring 3 VMX Root Operation VMX Non-root Operation... Ring 0 Ring 3 VM 1 Ring 0 Ring 3 VM 2 Ring 0 Ring 3 VM n VMXON VMLAUNCHVMRESUME VM Exit VMCS 2 VMCS n VMCS 1

23 Área de Arquitectura y Tecnología de Computadores UNIVERSIDAD CARLOS III DE MADRID Doctorado en Ingeniería Informática – Sistemas Operativos Avanzados Curso 2005/2006 Página – 23 – Virtual Machine Control Structure (VMCS ) VMCSs son estructuras de control en memoria Solo un VMCS activo por procesador virtual VMCS con formato no definido y variable VMPTRLD: Establece el puntero al VMCS VMREAD/VMWRITE: Instrucciones de acceso a VMCS

24 Área de Arquitectura y Tecnología de Computadores UNIVERSIDAD CARLOS III DE MADRID Doctorado en Ingeniería Informática – Sistemas Operativos Avanzados Curso 2005/2006 Página – 24 – Beneficios de tecnología VT Reduce dependencia del SO Elimina necesidad de traducción binaria. Facilita el soporte para SO antiguos Mejora de robustez Elimina la necesidad de técnicas complejas MMV más pequeño y simple Mejora de rendimiento Menos transiciones a MMV


Descargar ppt "UNIVERSIDAD CARLOS III DE MADRID Área de Arquitectura y Tecnología de Computadores Sistemas Operativos Avanzados Máquinas virtuales."

Presentaciones similares


Anuncios Google