22
Adaptación del Sistema Operativo ORK+ al hipervisor XtratuM Angel Esquinas Fernandez Tutor: Juan Zamorano

Índice Objetivos XtratuM ORK+ Adaptación del sistema operativo ORK+ Evaluación Conclusiones ORK+/XtratuM - PFC - A. Esquinas2

Embed Size (px)

Citation preview

Page 1: Índice Objetivos XtratuM ORK+ Adaptación del sistema operativo ORK+ Evaluación Conclusiones ORK+/XtratuM - PFC - A. Esquinas2

Adaptación del Sistema Operativo ORK+ al hipervisor XtratuM

Angel Esquinas FernandezTutor: Juan Zamorano

Page 2: Índice Objetivos XtratuM ORK+ Adaptación del sistema operativo ORK+ Evaluación Conclusiones ORK+/XtratuM - PFC - A. Esquinas2

ORK+/XtratuM - PFC - A. Esquinas 2

Índice Objetivos

XtratuM

ORK+

Adaptación del sistema operativo ORK+

Evaluación

Conclusiones

Page 3: Índice Objetivos XtratuM ORK+ Adaptación del sistema operativo ORK+ Evaluación Conclusiones ORK+/XtratuM - PFC - A. Esquinas2

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).

Page 4: Índice Objetivos XtratuM ORK+ Adaptación del sistema operativo ORK+ Evaluación Conclusiones ORK+/XtratuM - PFC - A. Esquinas2

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.

Page 5: Índice Objetivos XtratuM ORK+ Adaptación del sistema operativo ORK+ Evaluación Conclusiones ORK+/XtratuM - PFC - A. Esquinas2

ORK+/XtratuM - PFC - A. Esquinas 5

Objetivos

Page 6: Índice Objetivos XtratuM ORK+ Adaptación del sistema operativo ORK+ Evaluación Conclusiones ORK+/XtratuM - PFC - A. Esquinas2

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)

Page 7: Índice Objetivos XtratuM ORK+ Adaptación del sistema operativo ORK+ Evaluación Conclusiones ORK+/XtratuM - PFC - A. Esquinas2

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.

Page 8: Índice Objetivos XtratuM ORK+ Adaptación del sistema operativo ORK+ Evaluación Conclusiones ORK+/XtratuM - PFC - A. Esquinas2

ORK+/XtratuM - PFC - A. Esquinas 8

Adaptación de ORK+Integración ORK+ en

GNATIntegración ORK+/XtratuM

en GNAT

Page 9: Índice Objetivos XtratuM ORK+ Adaptación del sistema operativo ORK+ Evaluación Conclusiones ORK+/XtratuM - PFC - A. Esquinas2

ORK+/XtratuM - PFC - A. Esquinas 9

Arq. software ORK+

Page 10: Índice Objetivos XtratuM ORK+ Adaptación del sistema operativo ORK+ Evaluación Conclusiones ORK+/XtratuM - PFC - A. Esquinas2

ORK+/XtratuM - PFC - A. Esquinas 10

Arq. software ORK+/XtratuM

Page 11: Índice Objetivos XtratuM ORK+ Adaptación del sistema operativo ORK+ Evaluación Conclusiones ORK+/XtratuM - PFC - A. Esquinas2

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.

Page 12: Índice Objetivos XtratuM ORK+ Adaptación del sistema operativo ORK+ Evaluación Conclusiones ORK+/XtratuM - PFC - A. Esquinas2

ORK+/XtratuM - PFC - A. Esquinas 16

Temporización

Page 13: Índice Objetivos XtratuM ORK+ Adaptación del sistema operativo ORK+ Evaluación Conclusiones ORK+/XtratuM - PFC - A. Esquinas2

ORK+/XtratuM - PFC - A. Esquinas 18

Manejo de Interrupciones

Page 14: Índice Objetivos XtratuM ORK+ Adaptación del sistema operativo ORK+ Evaluación Conclusiones ORK+/XtratuM - PFC - A. Esquinas2

ORK+/XtratuM - PFC - A. Esquinas 19

Sistema de compilación

Page 15: Índice Objetivos XtratuM ORK+ Adaptación del sistema operativo ORK+ Evaluación Conclusiones ORK+/XtratuM - PFC - A. Esquinas2

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).

Page 16: Índice Objetivos XtratuM ORK+ Adaptación del sistema operativo ORK+ Evaluación Conclusiones ORK+/XtratuM - PFC - A. Esquinas2

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.

Page 17: Índice Objetivos XtratuM ORK+ Adaptación del sistema operativo ORK+ Evaluación Conclusiones ORK+/XtratuM - PFC - A. Esquinas2

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.

Page 18: Índice Objetivos XtratuM ORK+ Adaptación del sistema operativo ORK+ Evaluación Conclusiones ORK+/XtratuM - PFC - A. Esquinas2

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

Page 19: Índice Objetivos XtratuM ORK+ Adaptación del sistema operativo ORK+ Evaluación Conclusiones ORK+/XtratuM - PFC - A. Esquinas2

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

(%

)

Page 20: Índice Objetivos XtratuM ORK+ Adaptación del sistema operativo ORK+ Evaluación Conclusiones ORK+/XtratuM - PFC - A. Esquinas2

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.

Page 21: Índice Objetivos XtratuM ORK+ Adaptación del sistema operativo ORK+ Evaluación Conclusiones ORK+/XtratuM - PFC - A. Esquinas2

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.

Page 22: Índice Objetivos XtratuM ORK+ Adaptación del sistema operativo ORK+ Evaluación Conclusiones ORK+/XtratuM - PFC - A. Esquinas2

ORK+/XtratuM - PFC - A. Esquinas 27

FINGracias por su atención

Ángel Esquinas FernándezEmail.: [email protected]