Post on 06-Feb-2015
transcript
Adaptación del Sistema Operativo ORK+ al hipervisor XtratuM
Angel Esquinas FernandezTutor: Juan Zamorano
ORK+/XtratuM - PFC - A. Esquinas 2
Índice Objetivos
XtratuM
ORK+
Adaptación del sistema operativo ORK+
Evaluación
Conclusiones
ORK+/XtratuM - PFC - A. Esquinas 3
Sistemas Particionados Los sistemas particionados
permiten la ejecución de distintas aplicaciones con distintos niveles de criticidad en la misma plataforma.
Las aplicaciones ejecutan en particiones que aseguran aislamiento espacial y temporal.
Los sistemas particionados son usados en el sector aeronáutico bajo el concepto IMA (Integrated Modular Avionics).
ORK+/XtratuM - PFC - A. Esquinas 4
Virtualización Virtualización es la creación de una versión virtual de algún
recurso tecnológico, como puede ser una plataforma de hardware, un dispositivo de almacenamiento u otros recursos.
Una maquina virtual es una abstracción del computador que se requiere. Virtualización completa: visión completa de todo el computador. Virtualización parcial: la visión es solo de una parte de la
plataforma. posible declaración de una API (paravirtualización).
Un hipervisor (o monitor de maquina virtual, VMM) es una plataforma que aplica diversas técnicas de control de virtualización para utilizar diferentes sistemas operativos en una misma computadora.
ORK+/XtratuM - PFC - A. Esquinas 5
Objetivos
ORK+/XtratuM - PFC - A. Esquinas 6
XtratuM Hipervisor de código libre diseñado para satisfacer
requisitos de tiempo real en sistema empotrados.
Paravirtualizado. Ofrece una API para acceder a los servicios virtualizados.
Ofrece aislamiento temporal y aislamiento espacial fuerte entre particiones.
Sistema de comunicación entre particiones.
Particiones del sistema. Servicios restringidos a particiones en modo normal.
Desarrollado por la Universidad Politécnica de Valencia (UPV)
ORK+/XtratuM - PFC - A. Esquinas 7
ORK+ ORK+ es un sistema operativo de tiempo real, de tamaño
reducido y alto rendimiento.
Proporciona soporte restringido de tareas.
Implementa el perfil de Ravenscar. Salvo dos excepciones: Temporizadores de tiempo de ejecución Cuotas de tiempo para grupos de tareas.
Soporta aplicaciones escritas en Ada 2005 que cumplan las restricciones impuestas por el perfil de Ravenscar.
Desarrollado por la Universidad Politécnica de Madrid.
Bajo licencia de código libre.
ORK+/XtratuM - PFC - A. Esquinas 8
Adaptación de ORK+Integración ORK+ en
GNATIntegración ORK+/XtratuM
en GNAT
ORK+/XtratuM - PFC - A. Esquinas 9
Arq. software ORK+
ORK+/XtratuM - PFC - A. Esquinas 10
Arq. software ORK+/XtratuM
ORK+/XtratuM - PFC - A. Esquinas 12
Cambio de Contexto Rutina de bajo nivel. Escrita en lenguaje ensamblador.
Necesario guardar el contexto de la tarea saliente y recuperar el de la tarea entrante. Ventana de registros utilizadas. Registros globales. Registro de estado del procesador. Contador de programa Registro Y. Registros de coma flotante.
XtratuM virtualiza el control sobre la ventanas de registros menos la actual. Además del registro de estado.
Necesario utilizar los servicios proporcionados desde la rutina de cambio de contexto.
ORK+/XtratuM - PFC - A. Esquinas 16
Temporización
ORK+/XtratuM - PFC - A. Esquinas 18
Manejo de Interrupciones
ORK+/XtratuM - PFC - A. Esquinas 19
Sistema de compilación
ORK+/XtratuM - PFC - A. Esquinas 20
EvaluaciónEl principal problema de ejecutar sobre un sistema particionado es la posible pérdida de rendimiento.
Sobrecarga producida por el hipervisor: Cambios de partición. Virtualización de interrupciones. Uso de hiperllamadas.
Ejemplo:Acceder al registro de estado (PSR).
ORK+/XtratuM - PFC - A. Esquinas 21
Caso de prueba Medición de la sobrecarga introducida por la ejecución
de la prueba sobre la nueva plataforma y la plataforma original.
Utilización de medidas indirectas. Las medidas se obtienen de los resultados de las prueba. No intrusiva.
La prueba consiste en medir la perdida de rendimiento de una tarea que ejecuta una carga de trabajo. Hay otra tarea que introduce la perturbación. Se usa una tercera que recoge las medidas.
ORK+/XtratuM - PFC - A. Esquinas 22
Descripción del escenario
Lector: Prioridad alta. Periódicamente obtiene el valor del contador y lo almacena.
Perturbación: Tarea periódica con prioridad media. El intervalo de interrupción es modificado para que interrumpa n veces.
Carga de trabajo: Baja prioridad. Continuamente incrementa un contador.
ORK+/XtratuM - PFC - A. Esquinas 23
ResultadosPeriodo Tarea Periodica (ms)
1000 500 100 50 10 5 1
Media 9999113 9998618 9994117 9988498 9943509 9887269 9444166Maximo 9999131 9998642 9994141 9988522 9943520 9887280 9445368Min 9999046 9998558 9994056 9988436 9943462 9887222 9437370Direrencia 0 495 4996 10615 55604 111844 554947Diff (PR1)
0,00% 0,00% 0,05% 0,11% 0,56% 1,12% 5,55%ORK+ sobre procesador Leon2
Periodo Tarea Periodica (ms)
1000 500 100 50 10 5 1
Media 9997222 9994785 9975228 9950780 9755212 9510748 7555050
Maximo 9997235 9994791 9975236 9950790 9755216 9510760 7555056
Min 9997185 9994750 9975195 9950749 9755176 9510719 7555019
Direrencia 0 2437 21994 46442 242010 486474 2442172
Dif. (PR2) 0,00% 0,02% 0,22% 0,46% 2,42% 4,87% 24,43%
Dif. ejecución nativa (PR3) 0,02% 0,03% 0,19% 0,38% 1,89% 3,80% 20,00%
Ork+ sobre el hypervisor Xtratum
ORK+/XtratuM - PFC - A. Esquinas 24
Resultados
1000 500 100 50 10 5 10.000%
5.000%
10.000%
15.000%
20.000%
25.000%
30.000%
PR1PR2PR3
Periodo de la tarea periódica
Perd
ida d
el re
nd
imie
nto
(%
)
ORK+/XtratuM - PFC - A. Esquinas 25
Conclusiones Combinando ORK+ con XtratuM se pone a disposición una plataforma
software completamente funcional que permite la ejecución de aplicaciones de tiempo real escritas en Ada, con distintos niveles de criticidad, sobre la misma plataforma hardware. Siguiendo el concepto IMA.
Una plataforma gratuita, y de código libre, con la que poder familiarizarse e investigar en entornos universitarios, y que posibilita el uso de sistemas particionados en proyectos de código libre.
El comportamiento temporal de las aplicaciones que se ejecutan en un entorno de programación jerárquica como ORK+ / XtratuM pueden ser analizados estáticamente, utilizando una extensión de los métodos de análisis de tiempo de respuesta.
La nueva plataforma ha sido sometida a continuas pruebas durante todo el desarrollo, tanto funcionales como de rendimiento.
La sobrecarga inducida por ejecutar sobre el hipervisor XtratuM es pequeña teniendo en cuenta la velocidad de ejecución de los procesadores LEON2. Los beneficios de obtener un sistema particionado superan las pérdidas producidas.
ORK+/XtratuM - PFC - A. Esquinas 26
Trabajo futuro Adaptar ORK+ a XtratuM 3 para Leon3.
El soporte que LEON2 provee para el aislamiento espacial es bastante primitiva. Consiste en un conjunto reducido de registros valla.
XtratuM 3 funciona sobre el procesador LEON3, que gracias al uso de una MMU completamente funcional, asegura el aislamiento espacial.
Comunicación entre particiones. XtratuM ofrece un servició de comunicación entre particiones que sigue
el estándar ARINC-653. La implementación de este sistema de comunicación permitiría
comunicación entre las particiones.
Adaptar ORK+ a plataformas multiprocesador. La evolución natural de los procesadores es la adición de más cores a su
arquitectura. Salvando diferencias el sector aeroespacial sigue la misma evolución, por
ello es necesario ofrecer la plataforma para sistemas multiprocesador.
ORK+/XtratuM - PFC - A. Esquinas 27
FINGracias por su atención
Ángel Esquinas FernándezEmail.: a.esquina@datsi.fi.upm.es