Exokernel David Prez david perezciens ucv ve 10292021
- Slides: 41
Exokernel David Pérez david. perez@ciens. ucv. ve 10/29/2021 1
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? 10/29/2021 2
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. 10/29/2021 3
Introducción - Exokernel • Filosofías tradicionales de SO. – Interfaces de acceso completas. – Manejo centralizado de recursos. • Manejo descentralizado. – Consideraciones • Conflictos Aplicaciones. • Desempeño. • Flexibilidad. 10/29/2021 4
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. 10/29/2021 5
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. • • 10/29/2021 Procesos. IPC. Manejo de Interrupciones. Sistema de archivos. 6
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. 10/29/2021 7
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. 10/29/2021 8
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. 10/29/2021 9
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. 10/29/2021 10
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. 10/29/2021 11
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. 10/29/2021 12
Introducción - Exokernel • Idea. – Bajo el enfoque anterior. – Exokernel. • Multiplexación segura de recursos disponibles. • Protección. • Revocación. 10/29/2021 13
Introducción - Exokernel • Idea. – Usando el exokernel. – Aplicación. • Solicitar o tomar recursos. • Realizar manejo de eventos. • Participar en la revocación de recursos. 10/29/2021 14
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. 10/29/2021 15
Introducción - Exokernel • SO con arquitectura exokernel – Aegis – Ex. OS 10/29/2021 16
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. 10/29/2021 17
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. 10/29/2021 18
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. 10/29/2021 19
End to End - Exokernel • Abstracción centralizada Demasiada generalidad. • Intentar provee todas las características a las aplicaciones. • ¿Consecuencias? 10/29/2021 20
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. 10/29/2021 21
End to End - Exokernel • Las aplicaciones intentar conocer las operaciones del sistema y la interacción con el hardware. – ¿Con qué propósito? 10/29/2021 22
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? 10/29/2021 23
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. 10/29/2021 24
Arquitectura - Exokernel 10/29/2021 25
Librerías - Exokernel • Librerías del Sistema Operativo • Vienen a brindar – Flexibilidad – Eficiencia • Implementaciones – Especializadas – Simples – Ejemplo 10/29/2021 26
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. 10/29/2021 27
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. 10/29/2021 28
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. 10/29/2021 29
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. 10/29/2021 30
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. 10/29/2021 31
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. 10/29/2021 32
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. 10/29/2021 33
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. 10/29/2021 34
Diseño - Exokernel • Nombramiento físico. – Manejo correcto y simple de los recursos. – Ejemplo: • # de páginas. 10/29/2021 35
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. 10/29/2021 36
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. 10/29/2021 37
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. 10/29/2021 38
Diseño - Exokernel • Multiplexación de Red. – Múltiples protocolos. • Estudio del paquete. • No complicar el exokernel. 10/29/2021 39
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. 10/29/2021 40
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. 10/29/2021 41
- Universitatea din craiova contact
- Ucv theatre
- Ucv intranet
- Himno universitario letra
- Dr prez
- Beatriz mercado
- Jesus adrian romero wiki
- El reciclaje conclusion
- Prez significado
- E prez
- Daniel prez
- Electrotropismo
- Santo prez
- E prez
- Ppt
- Dayana prez
- Prez blackmon
- La ballena belinda y la biblioteca del mar
- Gabriel du prez
- Operating systems mit
- Exokernel
- What is exokernel
- Unikernel vs container
- Exokernel operating system
- Exokernel architecture
- Exokernel example
- Exokernel
- David qu
- David served his generation
- Oppenheim
- David rodrguez
- Petrétei dávid
- David lowe sift
- David devecsery
- Colegio david trumbull
- David m kroenke using mis
- David's whizzy periodic table
- David g myers psychology 8th edition
- David t. kearns benchmarking
- David mukamel
- I am david chapter 3 summary
- David reimer story