Sistemas Operativos Avanzados

Slides:



Advertisements
Presentaciones similares
Tabla de Contenido Concurrencia.
Advertisements

1 LA UTILIZACION DE LAS TIC EN LAS PYMES GALLEGAS AÑO Resumen. 24 de Junio de 2005.
Internet y tecnologías web
En primer lugar presentarme…
UNIVERSIDAD DEL VALLE DE MEXICO CAMPUS CHAPULTEPEC
Descripción técnica de Microsoft Virtual Server 2005 R2.
Definición Objetivos Funciones de un S.O.
Virtualización.
Sistema operativo Componentes de un sistema operativo
Universidad Nacional Autónoma de Honduras
Carlos Rojas Kramer Universidad Cristóbal Colón
Ambas ediciones (Datacenter & Standard) ofrecen los mismos componentes y cuentan con las mismas habilidades para la administración de cualquier carga de.
Virtual PC.
Fermín Sánchez Carracedo Universitat Politècnica de Catalunya
INTRODUCCIÓN A JAVA.
Máquinas Virtuales Luis Villalta Márquez.
Tema 1 SRI Vicente Sánchez Patón I.E.S Gregorio Prieto
Estructura de un Sistema Operativo
TEMA 2: «CONFIGURACIÓN DE MÁQUINAS VIRTUALES»
Virtualización de Plataforma
Sistema operativo Tema: Maquina virtual Alumnos: Eduar peña
Herramientas de Virtualización
Subsistemas De un Sistema Operativo Celeste Domínguez Romo
Programación Visual de Sistemas
Modelo de procesos de dos estados
Diseño e implementación de un ambiente virtualizado para un Sistema de Administración de Contenidos usando Microsoft SharePoint con cada uno de sus componentes.
Compartir Informacion Compartir Hardware y Software
Estructuras en Sistemas Operativos
Ingeniería de sw.
INTRODUCCIÓN A LA PROGRAMACIÓN
Introducción al Software
CURSO: UNIDAD 4: LENGUAJES HDL
Direcciones físicas y direcciones virtuales (lógicas)
Introducción a los SSOO Sebastián Sánchez Prieto.
Tema 10: Gestión de Memoria
Constituye la parte más importante del sistema operativo. Es el responsable de facilitar acceso seguro al hardware de la computadora,es el encargado de.
VIRTUALIZACIÓN.
Arquitectura de una aplicación
Administración de Memoria Memoria Virtual
Tema 10.3: Asignación de Espacio No Contiguo. Tema 10.3: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.),
Asignación de Espacio No Contiguo
Introducción al modelo Cliente-Servidor Carlos Rojas Kramer Universidad Cristóbal Colón.
Desarrollo de aplicaciones para ambientes distribuidos
Introducción al tiempo real en sistemas empotrados
Servidores Conceptos Generales.
FUNDAMENTOS TECNOLÓGICOS DE INFORMACIÓN
Estructuras en Sistemas Operativos DAISY KATERINE RODRÍGUEZ.
Introducción a los SOs.
Tema 8: Introducción a los SOs. Tema 8: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Introducción.
CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO
Sistemas Operativos Avanzados
INTRODUCCION A SISTEMAS OPERATIVOS
VIRTUALIZACIÓN.
Estructura del Sistemas Operativos por su Estructura
ARQUICTECTURA DE SERVIDORES
Son los atributos de un sistema que son visibles para un programador, es decir aquellos atributos que impactan directamente en la ejecución lógica de un.
Tecnologías Cliente / Servidor Capitulo II Richard Jiménez V. clienteserver.wordpress.com.
Elementos y tipos de sistemas operativos
SISTEMAS OPERATIVOS Son un conjunto de programas destinados a permitir la comunicación entre el usuario y en computador y gestionar sus recursos.
UNIDAD I INTRODUCCION A LOS S.O.
Estructuras en Sistemas Operativos DAISY KATERINE RODRÍGUEZ.
Máquinas Virtuales 29/09/20121Jesús Torres Cejudo.
Seguridad en virtualización
Máquinas Virtuales Gustavo Antequera Rodríguez. En informática una máquina virtual es un software que emula a una computadora y puede ejecutar programas.
ADMINISTRACIÓN DE REDES Planes de Migración. Migración En tecnología de información y comunicación, la migración es el proceso de la transferencia desde.
Integración de Servicios en Redes Windows y Guadalinex 1ª Sesión.
Harware Software Yuneidy moreno 7-2 Tecnología i. E. devora Arango.
Virtualización.
Gestión de Memoria – Parte 2
Estructura del sistema operativo
Transcripción de la presentación:

Sistemas Operativos Avanzados Máquinas virtuales

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.

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.

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.

Algo de historia Idea bastante utilizada hasta los 70-80 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.

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

Virtual Machine Monitor (VMM) MMV: Aplicación VM0 VM1 VMn App0 App1 Appn ... Virtual Machines (VMs) Guest OS0 Guest OS1 Guest OSn Virtual Machine Monitor (VMM) Platform HW Memory Processor/CS I/O Devices MMV  Capa de software de sistema Permite que se ejecuten varias MV sobre plataforma HW única Permite ejecutar aplicaciones sin modificar

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.

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.

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.

Problemas x86: Muchísimos problemas Itanium: Casi virtualizable 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

Virtualización impura Solución para arquitecturas no virtualizables y para reducir los problemas de rendimiento. Enfoques: Paravirtualización. Traducción binaria.

Paravirtualización Portar el código de SO huesped al ISA modificado. 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.

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.

Memoria Tablas de páginas en la sombra: Reclamación de memoria 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.

Ventajas de la virtualización Aislamiento Consolidación App1 App2 App1 App2 App1 App2 App1 App2 OS OS OS OS1 OS2 OS1 OS2 HW VMM HW1 HW2 VMM HW HW Migración App App OS OS VMM VMM VMM VMM HW1 HW2 HW1 HW2

Usos de la virtualización Legacy SW Support Training/QA Activity Partitioning Manageability … Server Consolidation Failover infrastructure Flexible Datacenter CLIENTES SERVIDORES

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

Desafíos de MMV SO y Apps no saben que el MMV existe o que comparten CPU con otras MV VM0 VM1 MMV debe aislar las MV entre si ... ... App App App App App App Guest OS0 ... Guest OS1 MMV se ejecuta protegida de las MV VM Monitor MMV debe presentar una interfaz a las MV Platform Hardware

Modos de operación VMX root: VMX non-root: Totalmente privilegiado. Pensado para MMV. VMX non-root: No privilegiado. Pensado para SW huésped.

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 VM0 VM1 ... ... App App App ... App App App Guest OS0 Guest OS1 VM Monitor VM Exit VM Entry Physical Host Hardware

VT-x Operations VMX Non-root Operation . . . IA-32 Operation VMX Root Ring 0 Ring 3 VM 1 Ring 0 Ring 3 VM 2 Ring 0 Ring 3 VM n VMX Non-root Operation . . . VMCS 1 VMCS 2 VMCS n VM Exit Ring 0 Ring 3 IA-32 Operation VMX Root Operation VMXON VMLAUNCH VMRESUME

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

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