Exokernel David Pérez 4/19/20151.

Slides:



Advertisements
Presentaciones similares
Sistemas operativos Prof. Alberto Rivas.
Advertisements

Arquitectura de Sistema de E/S
Definición Objetivos Funciones de un S.O.
Hardware y Software de servidor
Sistema operativo Componentes de un sistema operativo
Aplicación informática. formando parte de una red. pone sus recursos a disposición de las demás computadoras(clientes) de la red. Maneja información.
Carlos Rojas Kramer Universidad Cristóbal Colón
INTRODUCCIÓN A JAVA.
Estructura de un Sistema Operativo
TECNOLOGIA DE NUBES JORLETH POVEDA MURCIA.
Programación Visual de Sistemas
DSOO - María Eugenia Valencia
Introducción al software
Estructuras en Sistemas Operativos
BASES DE DATOS DISTRIBUIDAS
INSTALACIÓN Y MANTENIMIENTO DE SISTEMAS OPERATIVOS
Almacenamiento virtual de sitios web: «Hosts» virtuales Gustavo Antequera Rodríguez.
SISTEMAS OPERATIVOS.
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS
Direcciones físicas y direcciones virtuales (lógicas)
Introducción a los SSOO Sebastián Sánchez Prieto.
Elemento Lógico (Software)
Tema 10: Gestión de Memoria
UNIDAD 3 Conceptos de Sistemas Operativos.
OMAR SANCHEZ ROBLES HECTOR PEREZ GARCIA. “Sistemas de cómputo compuesto por un gran número de CPU´s conectados mediante una red de alta velocidad”, Tanenbaum.
Arquitectura de una aplicación
Introducción, Principios de Diseño y Estructuras de los Sistemas Operativos Sistemas Operativos Avanzados Prof. David A. Pérez A.
Administración de Memoria Memoria Virtual
Introducción A Las Bases De Datos
Programación de Sistemas
Programación I MC José Andrés Vázquez Flores
Desarrollo de aplicaciones para ambientes distribuidos
LOS SISTEMAS OPERATIVOS
Introducción a los Sistemas Operativos
CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament d’Arquitectura de Computadors (Seminaris de CASO) Autors JavaOS para el negocio José Manuel García.
El núcleo o kernel.
TEMA 10. SISTEMAS OPERATIVOS DISTRIBUIDOS
INTRODUCCIÓN A JAVA. Índice ¿Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características principales ¿Qué ventajas tengo como desarrollador?
Estructuras en Sistemas Operativos DAISY KATERINE RODRÍGUEZ.
Universidad Central de Venezuela Facultad de Ciencias Postgrado en Ciencias de la Computación Sistemas Distribuidos Albany Márquez.
Introducción a los Sistemas Operativos
Debemos utilizar los criterios adecuados a los fines que perseguimos.
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.
Integrante: Yohandry Cueto Carnet: # Contenido Kernel Linux Limitaciones del Kernel Linux Kernel Mach Que es Hurd Arquitectura Ventajas Distribuciones.
Sistemas Distribuidos
Escuela Normal “Profr. Darío Rodríguez Cruz”
1 Ana Mercedes Cáceres Instructor: Raúl Aguilar Año 2006 [Parte I ]
INTRODUCCION A SISTEMAS OPERATIVOS
UNIDAD 3 C ONCEPTOS DE S ISTEMAS O PERATIVOS. El ordenador es un sistema programable formado por un conjunto de elementos hardware que necesitan instrucciones.
Modelo de 3 capas.
Modelo OSI Surgimiento del Modelo OSI ¿Que es el Modelo OSI?
VIRTUALIZACIÓN.
SEGMENTACIÓN DE LA RED UNIVERSIDAD NACIONAL DE INGENIERÍA
S.o de red. Introducción a los Sistemas Operativos de Red Al igual que un equipo no puede trabajar sin un sistema operativo, una red de equipos no puede.
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.
DESARROLLO DE APLICACIONES PARA AMBIENTES DISTRIBUÍDOS ALUMNOS: MARIANA MIGNÓN RÉDING CARLOS ANTONIO CARRASCO MARTÍNEZ PROFESOR: DR. JOSÉ BERNARDO PARRA.
Tecnologías Cliente / Servidor Capitulo II Richard Jiménez V. clienteserver.wordpress.com.
Elementos y tipos de sistemas operativos
Instituto Tecnológico de puebla Materia Desarrollo de aplicaciones para ambientes distribuidos Catedrático Dr. José Bernardo Parra Alumnos Cesar Mauricio.
UNIDAD I INTRODUCCION A LOS S.O.
Estructuras en Sistemas Operativos DAISY KATERINE RODRÍGUEZ.
ELEMENTO DE COMPETENCIA 3
Arquitectura de una aplicación Arquitectur a: desarrolla un plan general del sistema, asegurando que las necesidades de los usuarios sean atendidas. Ingeniería.
El Sistema Operativo es el software básico necesario para el funcionamiento de cualquier ordenador Los Sistemas Operativos están en continua evolución.
Conociendo el modelo Cliente-Servidor
Gestión de Memoria – Parte 2
Conociendo el modelo Cliente-Servidor. Introducción En el mundo de TCP/IP las comunicaciones entre computadoras se rigen básicamente por lo que se llama.
Estructura del sistema operativo
Transcripción de la presentación:

Exokernel David Pérez 4/19/20151

Introducción - Exokernel ¿Qué define un SO? –Interfaz entre aplicaciones y recursos físicos. Ventajas de las interfaces. –Ya conocemos las ventajas. ¿Cuáles son? 4/19/20152

Introducción - Exokernel Desventajas de las interfaces. –Limitan el desempeño. –Limitan la libre implementación. ¿De quién? –¿A qué se deben estas desventajas? Abstracción. Portabilidad. Características adicionales. 4/19/20153

Introducción - Exokernel Filosofías tradicionales de SO. –Interfaces de acceso completas. –Manejo centralizado de recursos. Manejo descentralizado. –Consideraciones Conflictos  Aplicaciones. Desempeño. Flexibilidad. 4/19/20154

Introducción - Exokernel ¿Cómo solventar dicho inconveniente? –Manejo distribuidos de los recursos por aplicaciones. –¿Esto que ofrece? Facilidad de expansión. Facilidad en manejos específicos. Posibilidad de remoción de ciertos componentes. 4/19/20155

Introducción - Exokernel Enfoque tradicional –Ampliar el set de instrucciones del hardware. –Esconder información sobre los recursos vía abstracciones centralizadas. –Implementaciones particulares de la abstracción. Procesos. IPC. Manejo de Interrupciones. Sistema de archivos. 4/19/20156

Introducción - Exokernel Enfoque tradicional. –Abstracción centralizada. “Máquina virtual” para aplicaciones. –¿Qué brinda esta “máquina virtual”? Implementaciones no removibles. –¿Por quién? –Aplicaciones no confiables y/o no seguras. 4/19/20157

Introducción - Exokernel Idea. –Es inaceptable el enfoque tradicional. Negar a las aplicaciones las ventajas de dominarse en base a su definición de optimización. Es restrictivo y poco flexible. –Definir nuevos recursos o abstracciones. 4/19/20158

Introducción - Exokernel Evidencias. –No hablamos por vicio… –Apple et al. Primitivas de propósito general para memoria virtual. –Almacenamiento persistente. –Recolector de basura. –Memoria compartida distribuida. 4/19/20159

Introducción - Exokernel Evidencias. –Cao et al. Manejo de caching de archivos en aplicaciones de alto nivel. –Reduce E/S alrededor de un 80% –Cheriton and Krueger. Políticas especificas en memoria virtual. –Incremento en las prestaciones. 4/19/201510

Introducción - Exokernel Evidencias. –Stonebraker. Sistemas de archivos inapropiados. –Rendimiento de BD –Thekkath. Retrasar el manejo de señales. –Reduce el costo de las excepciones en las aplicaciones. 4/19/201511

Introducción - Exokernel Idea. –Plantear una arquitectura de un SO. –Abstracción tradicional del SO. Implementada en niveles de aplicación. Mediante software no confiable. 4/19/201512

Introducción - Exokernel Idea. –Bajo el enfoque anterior. –Exokernel. Multiplexación segura de recursos disponibles. Protección. Revocación. 4/19/201513

Introducción - Exokernel Idea. –Usando el exokernel. –Aplicación. Solicitar o tomar recursos. Realizar manejo de eventos. Participar en la revocación de recursos. 4/19/201514

Introducción - Exokernel Idea. –Implementación de bajo nivel. Implementación extremadamente eficiente. –Conjunto de Librerías. Librerías del SO. Trabajan sobre las interfaces del exokernel. Implementan las abstracciones de bajo nivel. 4/19/201515

Introducción - Exokernel SO con arquitectura exokernel –Aegis –ExOS 4/19/201516

Introducción - Exokernel Prestaciones. –Mejor que cualquier kernel monolítico. –Reenvío de excepciones  100 unidades. Memoria Virtual en nivel de aplicación. –Manejo de IPC  10 unidades. Estructuras variadas. 4/19/201517

Motivación - Exokernel El costo de abstracciones centralizadas. –Desempeño de las aplicaciones sufre. ¿Por qué? –No existe una única manera de realizar abstracción de los recursos físicos. –No existe una única forma de implementar una abstracción centralizada de la mejor manera para todas las aplicaciones. 4/19/201518

Motivación - Exokernel El costo de abstracciones centralizadas. –El SO esta forzado a elegir un soporte intermedio para las aplicaciones. Por ejemplo: –Lecturas intensivas. –Escrituras intensivas. 4/19/201519

End to End - Exokernel Abstracción centralizada  Demasiada generalidad. Intentar provee todas las características a las aplicaciones. ¿Consecuencias? 4/19/201520

End to End - Exokernel Lampson, Anderson, Massalin. –Implementaciones de abstracciones centralizadas con un propósito general. Forzar a las aplicaciones a sufrir sobrecarga. Generalización. –Importantes mejoras en el manejo del hardware a bajo nivel. –Aplicaciones de software más precisas y específicas. 4/19/201521

End to End - Exokernel Las aplicaciones intentar conocer las operaciones del sistema y la interacción con el hardware. –¿Con qué propósito? 4/19/201522

End to End - Exokernel Manejo de recursos de la forma apropiada. Toma de decisiones de acuerdo a la situación actual y no al caso común. –¿Qué contradice lo anterior? 4/19/201523

Arquitectura - Exokernel Pequeña capa de multiplexación de recursos. Librerías. –“Sistemas Operativos” que implementan objetos y políticas. ¿Qué deberían preguntar? –Ideas. 4/19/201524

Arquitectura - Exokernel 4/19/201525

Librerías - Exokernel Librerías del Sistema Operativo Vienen a brindar –Flexibilidad –Eficiencia Implementaciones –Especializadas –Simples –Ejemplo 4/19/201526

Librerías - Exokernel Permite minimizar. –Cambios de modos o transiciones a kernel. –La mayoría del SO. ¿Donde se ejecuta? No todo es bueno. –Problemas. Portabilidad. Complejidad. –Soluciones. Ideas. 4/19/201527

Librerías - Exokernel ¿Alguien me obliga a utilizar las librerías? ¿Qué necesito para que esto funcione? –Soporte para librerías compartidas. –Soporte para enlace dinámico. 4/19/201528

Librerías - Exokernel ¿Cómo portar en un exokernel? –Emulando del código binario del SO y las aplicaciones. –Muevo las abstracciones necesarias al SO anfitrión. –Implemento de nuevo lo que deseo, tal vez recompilo y adapto. 4/19/201529

Diseño - Exokernel Metas. –Aplicaciones extensibles. –Aplicaciones especializadas. –Reemplazo de las abstracciones centralizadas, con pie en el concepto de aplicaciones no confiables. Filosofía de diseño. –Control distribuido. 4/19/201530

Diseño - Exokernel Responsabilidades. –Mapeo de recursos - usuarios (Propietarios). –Multiplexación segura de recursos. Protección. Puntos de servicio. –Revocación de acceso a los recursos. 4/19/201531

Diseño - Exokernel No manejar los recursos más allá de ofrecer protección –Ejemplo: Exportar instrucciones privilegiadas. Exportar DMA. Exportar los recursos de la máquina. Detalles de las interfaces. –Solicitar recursos. –Liberar recursos. –Usar recursos. 4/19/201532

Diseño - Exokernel Principios guías. –Exponer el hardware. Ubicación completa y granular. –Exponer nombres. Espacios de nombres numerables. –Exponer eventos. Revocación de recursos. 4/19/201533

Diseño - Exokernel Multiplexación. –Dividir o No. Ejemplo. –MIPS. –SPARC. Costos. ¿Por qué exportar las instrucciones privilegiadas? –Abstracciones típicas del SO. –Encapsulamiento. –Verificación de recursos. 4/19/201534

Diseño - Exokernel Nombramiento físico. –Manejo correcto y simple de los recursos. –Ejemplo: # de páginas. 4/19/201535

Diseño - Exokernel Multiplexación segura. –Tarea primordial. –Verificar privilegios. Al usar el recurso. Conocimiento limitado. –Bajo Nivel. –Alto Nivel  ¿Dónde se implementa?. Unión segura. –Separar alto de bajo nivel. 4/19/201536

Diseño - Exokernel Multiplexación segura. –Tarea primordial. –Verificar privilegios. Al usar el recurso. Conocimiento limitado. –Bajo Nivel. –Alto Nivel  ¿Dónde se implementa?. Unión segura. –Separar alto de bajo nivel. 4/19/201537

Diseño - Exokernel Multiplexación Memoria Física. –Unión segura. Página. Propietario. Capacidades. Multiplexación Frame Buffer. –Dificultad al conocer los dispositivos. Ejemplos: –Disco. –Silicon Graphics. 4/19/201538

Diseño - Exokernel Multiplexación de Red. –Múltiples protocolos. Estudio del paquete. No complicar el exokernel. 4/19/201539

Diseño - Exokernel Revocación. –Recursos manejados a nivel de aplicación. –Reclamar recursos. –Invisible. No involucrar a la aplicación. Menor latencia. Falta de control y escasez. –Visible. Involucrar a la aplicación. Ventajas. Desventajas. 4/19/201540

Diseño - Exokernel Protocolo de aborto. –¿Qué pasa si la revocación falla? –Revocación en dos fases. Ejemplo –¿Sí falla también esto? Opciones. –Mato todo. –Protocolo de aborto. »Recursos por la fuerza. »Vector de reposición. »Elección de recursos. 4/19/201541