UPV / EHU Metodologías 3. Plataformas y arquitectura middleware Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores 1 Interfaces de usuario Aplicaciones inteligentes Servicios Infraestructuras software Infraestructuras hardware Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores Plataformas y arquitectura middleware Aspectos éticos y sociales Sistemas Ubicuos Seguridad e integridad UPV / EHU Herramientas y plataformas Plataformas y arquitectura middleware 2 Plataformas y arquitectura middleware UPV / EHU UPV / EHU 1. Middleware vs sistema operativo 2. Compatibilidad 3. Arquitecturas middleware. Ejemplos Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores 1. Middleware vs sistema operativo 2. Compatibilidad 3. Arquitecturas middleware. Ejemplos 3 Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores 4 1 Plataformas y arquitectura middleware Plataformas Aplicación UPV / EHU Interfaces de usuario Aplicación UPV / EHU Aplicaciones inteligentes Servicios Arquitectura Middleware Infraestructuras software Sistema Operativo o plataforma ¿cómo se reparten las funciones? Middleware ¿compatibilidad? Sistema operativo o plataforma Tecnologías de red y dispositivos Infraestructuras hardware Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores 5 Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores Reparto de funciones: SO vs Mw UPV / EHU 6 Plataformas y arquitectura middleware • Modificar el SO es laborioso y cuesta alcanzar versiones estables. • Trasladar la funcionalidad al Mw es más sencillo pero ofrece peor rendimiento. – Ejemplos: Gaia, Aura, sistemas basados en JiniJava. • Micronúcleos: sólo el soporte básico (cambio de contexto, interrupciones...) en el espacio del núcleo; el resto de funciones, como cliente-servidor en espacio de usuario. UPV / EHU 1. Middleware vs sistema operativo 2. Compatibilidad 3. Arquitecturas middleware. Ejemplos – Ejemplo: Mach 3.0, utilizado en MacOS X e iOS (iPhone). Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores 7 Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores 8 2 Compatibilidad Compatibilidad: emulación • Sistemas heterogéneos: • Emulación software – ¿cómo conseguir que las aplicaciones puedan migrar entre plataformas (Hw o SO) diferentes? UPV / EHU • Soluciones: UPV / EHU – Disponer de versiones de las aplicaciones para cada plataforma. – Utilizar una plataforma Mw común (ej: Java). – Utilizar emuladores para homogeneizar plataformas. • Virtualización – Emulación Hw de lo estrictamente necesario: • Llamadas al sistema • Acceso a los dispositivos – Compatibilidad hacia atrás. – Precio (Sw libre vs propietario). – Recursos limitados (p. ej., en sistemas empotrados). – El resto de las IM se ejecutan nativamente. – Requiere análisis del código en tiempo de ejecución. – Ejemplos: VMware, VirtualPC, Win4Lin, Parallels. Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores 9 Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores Aplicación emulada Emulador Aplicación API nativa SO anfitrión SO anfitrión Hw Hw Emulación Software Emulación Hardware 10 Compatibilidad: micronúcleos Compatibilidad: emulación (cont) Aplicación emulada SO huesped Hw Aplicación emulado nativa • Emulación hardware – Se emula el entorno Hw completo. – Ejemplo: BOCHS • Condicionantes: UPV / EHU – Se interceptan los traps de las llamadas al sistema del SO emulado y se interpretan en el SO anfitrión. – Ejemplo: Wine. Aplicación emulada SO huesped Hw Aplicación emulado nativa SO anfitrión Hw UPV / EHU SO clásico Micronúcleo Aplicaciones (espacio de usuario) Sistema operativo (espacio del kernel) Espacio de usuario Emulador System V Emulador POSIX Micronúcleo Hw Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores Otro Emulador Espacio del kernel Virtualización 11 Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores 12 3 Plataformas y arquitectura middleware Compatibilidad: Java UPV / EHU UPV / EHU 1. Middleware vs sistema operativo 2. Compatibilidad 3. Arquitecturas middleware. Ejemplos Configuration for Small Devices - The Connected Limited Device Configuration (CLDC) http://java.sun.com/javame/technology/index.jsp Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores 13 Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores Arquitecturas middleware para sistemas ubicuos. Ejemplos. Arquitectura middleware Aplicación 14 Aplicación UPV / EHU UPV / EHU Middleware Sistema operativo o plataforma Tecnologías de red y dispositivos Gaia Active Spaces (Roman, 2002) Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores 15 Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores 16 4 Arquitecturas middleware para sistemas ubicuos. Ejemplos. Arquitecturas middleware para sistemas ubicuos. Ejemplos. Applications UPV / EHU JavaSpaces Other services Lookup UPV / EHU Network services Jini Discovery/Join RMI Java Java Java Solaris Solaris Mac Windows SPARC PowerPC x86 Aura Arquitectura Jini (Garlan, 2002) Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores 17 Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores 18 Arquitecturas middleware para sistemas ubicuos. Ejemplos. Applications Intelligent Context UPV / EHU Inteligent Context Service Context awareness and location Middleware Context Middleware Resource integration and discovery Raw Context Sensors AmbienNet Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores 19 5