19
75-08 Sistemas Operativos Prof. Lic. Ing. Osvaldo Clúa FIUBA 2010 1 Facultad de Ingeniería Universidad de Buenos Aires 75-08 Sistemas Operativos Lic. Ing. Osvaldo Clúa 2010 Virtualización Virtualización

Facultad de Ingeniería Universidad de Buenos Airesmaterias.fi.uba.ar/7508/Teoria-2010/Virtualizacion.pdf · 2011-05-12 · 75-08 Sistemas Operativos 2 FIUBA 2010 Prof. Lic. Ing

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Facultad de Ingeniería Universidad de Buenos Airesmaterias.fi.uba.ar/7508/Teoria-2010/Virtualizacion.pdf · 2011-05-12 · 75-08 Sistemas Operativos 2 FIUBA 2010 Prof. Lic. Ing

75-08 Sistemas Operativos Prof. Lic. Ing. Osvaldo ClúaFIUBA 2010 1

Facultad de IngenieríaUniversidad de Buenos Aires

75-08 Sistemas OperativosLic. Ing. Osvaldo Clúa

2010

VirtualizaciónVirtualización

Page 2: Facultad de Ingeniería Universidad de Buenos Airesmaterias.fi.uba.ar/7508/Teoria-2010/Virtualizacion.pdf · 2011-05-12 · 75-08 Sistemas Operativos 2 FIUBA 2010 Prof. Lic. Ing

275-08 Sistemas Operativos Prof. Lic. Ing. Osvaldo ClúaFIUBA 2010 2

VirtualizaciónVirtualización

● La abstracción de recursos de computación– Virtualización de Aplicaciones.– Virtualización de Plataforma.– Virtualización de Escritorio.– Virtualización de recursos.

● Red, Memoria, Almacenamiento, clusters, grids.

Page 3: Facultad de Ingeniería Universidad de Buenos Airesmaterias.fi.uba.ar/7508/Teoria-2010/Virtualizacion.pdf · 2011-05-12 · 75-08 Sistemas Operativos 2 FIUBA 2010 Prof. Lic. Ing

375-08 Sistemas Operativos Prof. Lic. Ing. Osvaldo ClúaFIUBA 2010 3

¿Para qué se usa?¿Para qué se usa?

● Aumento de confiabilidad.– El software tiene mas fallas (bugs) que el

Hardware.● Aplicaciones antiguas (“legacy”).● Desarrollo y prueba en múltiples plataformas.● Balanceo de cargas y escalabilidad futura.

– Es mas fácil migrar de una VM a otra en un host demasiado cargado.

Page 4: Facultad de Ingeniería Universidad de Buenos Airesmaterias.fi.uba.ar/7508/Teoria-2010/Virtualizacion.pdf · 2011-05-12 · 75-08 Sistemas Operativos 2 FIUBA 2010 Prof. Lic. Ing

475-08 Sistemas Operativos Prof. Lic. Ing. Osvaldo ClúaFIUBA 2010 4

Virtualización de AplicacionesVirtualización de Aplicaciones

● Compatibilidad y portabilidad entre distintos Sistemas Operativos y distintas arquitecturas.– Máquinas Virtuales (JVM, .net CLR)– Compatibility Layers

● Wine,WOW,WOW64,Linux on BSD.– En general requiere de una CPU

compatible (upwards)

Page 5: Facultad de Ingeniería Universidad de Buenos Airesmaterias.fi.uba.ar/7508/Teoria-2010/Virtualizacion.pdf · 2011-05-12 · 75-08 Sistemas Operativos 2 FIUBA 2010 Prof. Lic. Ing

575-08 Sistemas Operativos Prof. Lic. Ing. Osvaldo ClúaFIUBA 2010 5

Virtualización de PlataformaVirtualización de Plataforma● Abstracción de todos los recursos de

computación de un huésped dentro de un anfitrión (host).– Virtualización total.

● Emulación de plataforma.● Hipervisores

– Paravirtualización.– Virtualización del mismo Sistema Operativo.

Page 6: Facultad de Ingeniería Universidad de Buenos Airesmaterias.fi.uba.ar/7508/Teoria-2010/Virtualizacion.pdf · 2011-05-12 · 75-08 Sistemas Operativos 2 FIUBA 2010 Prof. Lic. Ing

675-08 Sistemas Operativos Prof. Lic. Ing. Osvaldo ClúaFIUBA 2010 6

¿Cuando es posible virtualizar?¿Cuando es posible virtualizar?● Condiciones de Popek y Goldberg.

– Instrucciones privilegiadas● Las que ocasionan un software trap.

– Instrucciones delicadas (“sensitive”)● Las que solo pueden ejecutarse en Modo Supervisor del

procesador.● Una arquitectura es virtualizable si las instrucciones

delicadas son un subconjunto de las privilegiadas– La arquitectura Intel IA32 no lo es.

● Por ejemplo, POPF tiene distintos resultados según el modo del procesador ...

Page 7: Facultad de Ingeniería Universidad de Buenos Airesmaterias.fi.uba.ar/7508/Teoria-2010/Virtualizacion.pdf · 2011-05-12 · 75-08 Sistemas Operativos 2 FIUBA 2010 Prof. Lic. Ing

775-08 Sistemas Operativos Prof. Lic. Ing. Osvaldo ClúaFIUBA 2010 7

Virtualización de la IA32Virtualización de la IA32

●AMD-V o Pacífica para procesadores AMD.●Intel IVT o Vanderpool.

● La idea es generar “containers” donde la ejecución de una instrucción delicada provoqueun software trap.● (trap & emulate)● Usando IOMMU para acceder a memoria virtual

Page 8: Facultad de Ingeniería Universidad de Buenos Airesmaterias.fi.uba.ar/7508/Teoria-2010/Virtualizacion.pdf · 2011-05-12 · 75-08 Sistemas Operativos 2 FIUBA 2010 Prof. Lic. Ing

875-08 Sistemas Operativos Prof. Lic. Ing. Osvaldo ClúaFIUBA 2010 8

HipervisoresHipervisores

● Monitor de máquinas virtuales– Tipo I

● Corren directamente sobre el Hardware.● El huésped debe tener una arquitectura

virtualizable.– Tipo II

● Corre como un programa bajo un sistema operativo anfitrión (Host).

● Pueden virtualizar cualquier ambiente.

Page 9: Facultad de Ingeniería Universidad de Buenos Airesmaterias.fi.uba.ar/7508/Teoria-2010/Virtualizacion.pdf · 2011-05-12 · 75-08 Sistemas Operativos 2 FIUBA 2010 Prof. Lic. Ing

975-08 Sistemas Operativos Prof. Lic. Ing. Osvaldo ClúaFIUBA 2010 9

Hipervisor Tipo IHipervisor Tipo I

● El huésped corre en modo usuario.– Su Kernel cree haber pasado a modo

supervisor, pero continúa en modo usuario.

Page 10: Facultad de Ingeniería Universidad de Buenos Airesmaterias.fi.uba.ar/7508/Teoria-2010/Virtualizacion.pdf · 2011-05-12 · 75-08 Sistemas Operativos 2 FIUBA 2010 Prof. Lic. Ing

1075-08 Sistemas Operativos Prof. Lic. Ing. Osvaldo ClúaFIUBA 2010 10

Hipervisor Tipo I (2)Hipervisor Tipo I (2)

– Al ejecutar una instrucción delicada,se produce una software trap.

– El Hipervisor toma el control.●Si la trap proviene del kernel del guest, lleva a cabo la acción correspondiente.●Si proviene de un programa en modo usuario, responde como lo haría el Hard.–VMware ESX, Xen, Hyper-V

Page 11: Facultad de Ingeniería Universidad de Buenos Airesmaterias.fi.uba.ar/7508/Teoria-2010/Virtualizacion.pdf · 2011-05-12 · 75-08 Sistemas Operativos 2 FIUBA 2010 Prof. Lic. Ing

1175-08 Sistemas Operativos Prof. Lic. Ing. Osvaldo ClúaFIUBA 2010 11

Hipervisor Tipo IIHipervisor Tipo II

● Corre bajo el control de otro sistema operativo.

● Modifica el programa que está corriendo.

Page 12: Facultad de Ingeniería Universidad de Buenos Airesmaterias.fi.uba.ar/7508/Teoria-2010/Virtualizacion.pdf · 2011-05-12 · 75-08 Sistemas Operativos 2 FIUBA 2010 Prof. Lic. Ing

1275-08 Sistemas Operativos Prof. Lic. Ing. Osvaldo ClúaFIUBA 2010 12

Binary translationBinary translation

● Basic Block– Código con un punto de entrada, uno de salida

y sin “jumps”. ● El Hipervisor examina los Basic Blocks ...

– ... y reemplaza las instrucciones delicadas por llamadas al hipervisor

– ... y guarda el código traducido en el cache.● Lo que aumenta su performance.

Page 13: Facultad de Ingeniería Universidad de Buenos Airesmaterias.fi.uba.ar/7508/Teoria-2010/Virtualizacion.pdf · 2011-05-12 · 75-08 Sistemas Operativos 2 FIUBA 2010 Prof. Lic. Ing

1375-08 Sistemas Operativos Prof. Lic. Ing. Osvaldo ClúaFIUBA 2010 13

HipervisoresHipervisores

● El tipo I no siempre es mas rápido que el tipo II.– Las traps consumen muchos recursos.

– Y una vez en el cache, el tipo II tiene velocidad casi nativa.

– Virtual PC, VMware server, Virtual Box

Page 14: Facultad de Ingeniería Universidad de Buenos Airesmaterias.fi.uba.ar/7508/Teoria-2010/Virtualizacion.pdf · 2011-05-12 · 75-08 Sistemas Operativos 2 FIUBA 2010 Prof. Lic. Ing

1475-08 Sistemas Operativos Prof. Lic. Ing. Osvaldo ClúaFIUBA 2010 14

ParavirtualizaciónParavirtualización

● Reemplazar en el sistema operativo guest las instrucciones delicadas por llamadas al hipervisor.– Una API es VMI de Vmware.– Requiere modificaciones en el

guest.● En Linux a partir del Kernel 2.6.21.● La mayor parte de los hipervisores la adoptaron

como opción.

Page 15: Facultad de Ingeniería Universidad de Buenos Airesmaterias.fi.uba.ar/7508/Teoria-2010/Virtualizacion.pdf · 2011-05-12 · 75-08 Sistemas Operativos 2 FIUBA 2010 Prof. Lic. Ing

1575-08 Sistemas Operativos Prof. Lic. Ing. Osvaldo ClúaFIUBA 2010 15

Máquinas VirtualesMáquinas Virtuales

● La lista de VM sigue creciendo ...– ... y aparece una nueva forma de distribución,

los Aparatos Virtuales o Virtual Appliances.– ...o de distribución de aplicaciones usando

streaming.● Algunos enfoques diferentes:

– Un traductor binario dinámico: QuickTransit.– Uno destinado a los empotrados: MPLAB (ICE).

Page 16: Facultad de Ingeniería Universidad de Buenos Airesmaterias.fi.uba.ar/7508/Teoria-2010/Virtualizacion.pdf · 2011-05-12 · 75-08 Sistemas Operativos 2 FIUBA 2010 Prof. Lic. Ing

1675-08 Sistemas Operativos Prof. Lic. Ing. Osvaldo ClúaFIUBA 2010 16

Virtualización del EscritorioVirtualización del Escritorio

● Las aplicaciones se hospedan en un sistema central pero cada usuario tiene su escritorio local.– Concepto tomado de los thin client.

● Citrix, MokaFive y varios mas.● Y algunos Web Desktops como Glide o eyeOs

Page 17: Facultad de Ingeniería Universidad de Buenos Airesmaterias.fi.uba.ar/7508/Teoria-2010/Virtualizacion.pdf · 2011-05-12 · 75-08 Sistemas Operativos 2 FIUBA 2010 Prof. Lic. Ing

1775-08 Sistemas Operativos Prof. Lic. Ing. Osvaldo ClúaFIUBA 2010 17

Virtualización de recursos

Virtualización de recursos

● Usar los recursos del sistema operativo host para apoyar la ejecución del guest.

– Colinux Es un kernel que corre como servico de XP...

– ...y andlinux es una aplicación de colinux

Page 18: Facultad de Ingeniería Universidad de Buenos Airesmaterias.fi.uba.ar/7508/Teoria-2010/Virtualizacion.pdf · 2011-05-12 · 75-08 Sistemas Operativos 2 FIUBA 2010 Prof. Lic. Ing

1875-08 Sistemas Operativos Prof. Lic. Ing. Osvaldo ClúaFIUBA 2010 18

Virtualización del Sistema OperativoVirtualización del Sistema Operativo

● Cuando el Kernel permite distintos ambientes de usuarios aislados entre sí.– Una extensión del chroot.– Usado por seguridad en aplicaciones como

hosting virtual.– Linux VServer, Virtuozzo, Solaris containers o

BSD Jails.

Page 19: Facultad de Ingeniería Universidad de Buenos Airesmaterias.fi.uba.ar/7508/Teoria-2010/Virtualizacion.pdf · 2011-05-12 · 75-08 Sistemas Operativos 2 FIUBA 2010 Prof. Lic. Ing

1975-08 Sistemas Operativos Prof. Lic. Ing. Osvaldo ClúaFIUBA 2010 19

El lado (azul) oscuro ...El lado (azul) oscuro ...

● En una conferencia de seguridad, Joanna Rutkowska afirma tener una píldora que despierta a Windows en la Matrix...