New trends in Real Time Operating System Shraddha, Nakate, Bandu, Meshram, Jaymala y Chavan Bonacina, Jonatan Bengui, Maximiliano Marrone, Alfredo Tabares, Ignacio Informática III Junio 2012 Problemática • Ambientes dinámicos • Respuestas puntuales garantizadas en un plazo de tiempo • Limitaciones de recursos Se necesita una gestión eficiente de los recursos STR • "Un sistema en tiempo real es aquel en el que la exactitud de los cálculos no sólo depende de la corrección lógica de cálculo, sino que también depende del tiempo en que se obtienen los resultados. Si las restricciones de tiempo no se cumplen, se dice que ha ocurrido una falla en el sistema”. Gillies Diseño STR: Requisitos de tiempo • La eficiencia del STR no sólo depende del resultado sino también del tiempo en que se lo arroja: el sistema debe ser predecible. ▫ Predictibilidad: los componentes deben ser de tiempo acotado. ▫ Consistencia Temporal: necesidad de mantener consistencia entre el medio ambiente y el sistema de control. Consistencia Absoluta Consistencia Relativa Problemas de diseño STR: la programación • Relacionados con los eventos que ocurren inesperadamente (entradas), decisiones a tomar en planos específicos y limitaciones de tiempo para cada tarea en particular. ▫ ▫ ▫ ▫ ▫ Paradigmas de programación. Algoritmos tradicionales Latencia minimizada Problema de inversión de prioridad Protocolo de prioridad heredada STR actuales y el problema en su enfoque • Entornos dinámicos, con respuestas en tiempo y forma, costos, tamaño. Se requiere una administración eficiente. ▫ Propiedades importante del entorno. Recursos limitados Restricciones en tiempo real Comportamiento dinámico Adaptación STR actuales y el problema en su enfoque ▫ Apoyo específico en distintos niveles de arquitectura La implementación de sistemas embebidos requiere apoyo específico en diferentes niveles de la arquitectura de software. El componente más importante que afecta a la adaptabilidad es el núcleo, pero también puede introducirse cierta flexibilidad por encima del sistema operativo, en una capa de software que se denomina el middleware STR actuales y el problema en su enfoque ▫ Requerimientos para las nuevas aplicaciones Software de control Software para procesamiento multimedia Software de interacción: ▫ Capacidad de adaptación Poder administrar los recursos disponibles de modo tal que cada tarea pueda ejecutarse con éxito con sus limitaciones y requerimientos de calidad. Las tareas de realizan los sistemas deben adaptarse a cada usuario de modo tal de garantizar sus solicitudes administrando los recursos disponibles. STR actuales y el problema en su enfoque ▫ Problemática con el enfoque actual A pesar de la creciente complejidad de los sistemas, las aplicaciones en tiempo real son principalmente configuradas actuando sobre tareas prioritarias, lo cual usualmente expresa la importancia de dichas tareas. Esto es inadecuado por muchas razones cuando se configuran sistemas dinámicos complejos, porque existen otras restricciones del sistema que no pueden ser asignadas dentro de un conjunto de nivel de prioridades. Como una consecuencia, hoy día, los sistemas requieren ensayos y ajustes extensivos para operar de manera óptima. ▫ Gestión de QoS en SOs modernos. Desafíos y lineamiento de trabajo Desafíos y lineamiento de trabajo • Soporte efectivo a la gestión de QoS ▫ Como deben ser los SO: Reflexivos Recursos consistentes Informativos Adaptación • Reserva de recursos Modelo de programación Reserva de recursos Ancho de banda constante (CBS) Adaptación Desafíos y lineamiento de trabajo • Recuperación eficiente de los recursos Reserva de recursos Tiempo adicional de recuperación • Integración en tiempo real y control Aplicaciones variables e impredecibles Tiempo de ejecución y ancho de banda limitados Fluctuaciones • Planificación flexible Fundamental que la programación sea flexible, se deben detallar requerimientos temporales Desafíos y lineamiento de trabajo • Planificación Jerárquica Maquinas virtuales “No solo hay un algoritmo de planificación para un recurso dado, sino una jerarquía de planificadores” • Manejo de Sobrecarga • Planificación teniendo en cuenta la energía. Aumento de tiempo de ejecución Ventaja: Eficiente, fácil y practico de usar Desventaja: el planificador de tarea puede estar limitado por la falta de recursos Desafíos y lineamiento de trabajo • Portabilidad • Modelado Modificabilidad mejorada de los parámetros del sistema. Facilidad de construcción por la integración de modelos de componentes heterogéneos. Generalidad por usar la abstracción y comportamiento no determinantico. Análisis de previsibilidad mediante la aplicación de métodos formales. Desafíos y lineamiento de trabajo • RTOS basados en componentes. Permite al diseñador rápidamente configurar el Kernel. Diferentes perfiles de TR ◦ PSE51-PSE52-PSE53-PSE54 No permite al usuario remplazar mecanismos del Kernel. Ventajas 1) Mejoramiento en funcionalidad 2) Aumento de la eficiencia 3) Simplificación Desafíos y lineamiento de trabajo • RTOS basados en componentes Limitaciones “La principal limitación es la interdependencia de los mecanismos de implementación del Kernel” Conclusiones Servicios de planificación flexibles Protección Dinamismo Calidad de servicio Soporte multiprocesador Drivers Networks Modelado