Objetivos

Objetivos

En el presente proyecto se pretende realizar el salto necesario para convertir el prototipo en un desarrollo tecnológicamente avanzado y utilizable de forma industrial para distintos procedadores. Para realizar este salto es necesario abordar nuevos aspectos como:

  • Arquitectura de los hipervisores para los sistemas empotrados de tiempo real. Estructura interna del hipervisor y servicios que suministra
  • Aislamiento temporal de las particiones. Políticas de planificación de tiempo real para sistemas hipervisados y protocolos de gestión de recursos compartidos
  • Aislamiento espacial de las particiones. Gestión de memoria en sistemas empotrados y uso de unidades de gestión de memoria (MMU) para la protección de particiones. Gestión de memoria dinámica.
  • Seguridad. Políticas de seguridad física y de ejecución de las particiones
  • Soporte multiprocesador. Uso de varios procesadores para la ejecución de las particiones. Esquemas de planificación.
  • Generación del sistema completo para su carga en sistemas empotrados
  • Desarrollo de particiones basadas en sistemas operativos de tiempo real (PartiKle).
  • Modelos de configuración del sistema en lenguajes de alto nivel (UML) y herramientas para la generación automática de las configuraciones de los sistemas empotrados

Dentro del proyecto se plantean una serie de retos teóricos como son:

  • Planificación de sistemas hipervisados. El análisis de la planificación de los sistemas de tiempo real bajo distintas políticas de planificación (RM, DM, EDF) ha sido estudiado en detalle con importantes avances en la última década. Sin embargo, la aparición de los hipervisores ha hecho que todos estos esquemas de planificación se analicen de nuevo. Un hipervisor presenta una política de planificación basada en servidores que permite el analisis de sistemas hipervisados. Por otro lado, la necesidad en los sistemas críticos de esquemas de planificación más fijos (planificación cíclica) obliga a considerar este modelo de planificación e integrar en los análisis de planificación sistemas de planificación jerárquico basados en esquemas cíclicos.
  • Seguridad. La seguridad de los sistemas empotrados tiene dos vertientes que requieren un estudio más profundo en cada uno de ellos. Por un lado, la seguridad entendida como funcionamiento fiable y robusto del sistema ante la ocurrencia de fallos. En este caso, se necesita una arquiectura de hipervisor que incorpore mecanismos de detección y tratamiento de fallos en el sistema. Estos mecanismos agrupados en lo que se denomina en inglés “Health Monitoring” afectan de forma especial a la estructura interna del hipervisor y a los mecanismos de comunicación y sinconización con las particiones.
    Por otro lado, la seguridad entendida como confianza en que lo que se ejecuta es lo que realmente debe estar ejecuándose se refiere a disponer de particiones seguras en el acceso a ella se realiza mediante un reconocimento explícito (encriptación, certificados,…) de los que acceden. La gestión de claves de una forma segura en un módulo especializado y la construcción de un modelo de confianza del sistema son aspectos que requieren un estudio y análisis en más profundidad.
  • Gestión de memoria dinámica. El procesador como recurso compartido se estudia a través de la planificación del sistema. La memoria como recurso ha sido muy poco estudiado y desarrollado. El gestor de memoria dinámica desarrollado en nuestro grupo supone un punto de partida para gestionar la memoria de las distintas particiones atendiendo a sus necesidades de ejecución. La definición de un modelo de que integre procesador y memoria será uno de los retos importantes que se pretende abordar.
  • Mecanismos de comunicación. La comunicación entre las particiones y entre éstas y los dispositivos externos en el marco de los sistemas de tiempo real sujetos a restricciones temporales es un tema que está por definir. Aunque en la literatura existen distintas propuestas, muchas de ellas siguen una visión poco adecuada cuando las restricciones temporales y de seguridad están presentes. Elaborar un modelo, formalizarlo e implementarlo es el objetivo de este punto