Administración de Interrupciones en Sistemas Operativos de Tiempo Real

Administración de Interrupciones en Sistemas Operativos de Tiempo Real

Luis Eduardo Leyva del Foyo
 

Texto completo de la Tesis     

 


Resumen

Los requerimientos de diseño de las aplicaciones de tiempo real son radicalmente diferentes de aquellos de las aplicaciones de propósito general (cómputo científico y de escritorio en entornos de red). Esto demanda de sistemas operativos de tiempo real con características y mecanismos específicos para este segmento de la computación. En particular, en un sistema operativo de tiempo real es necesario poder predecir en todo momento qué actividad está ejecutando el procesador y por cuanto tiempo lo hace. Con este propósito la comunidad de tiempo real ha diseñado una arquitectura de software en donde las actividades a llevar a cabo por las aplicaciones (tareas) se activan por tiempos determinados y según esquemas de planificación predecibles. Sin embargo, en los sistemas operativos de tiempo real actuales, la comunicación entre los dispositivos externos y el procesador no ha cambiado y se sigue dando a través de señales emitidas por el hardware (denominadas interrupciones) que interrumpen a las aplicaciones de forma impredecible para ejecutar rutinas de servicio de interrupción (ISR -- “Interrupt Service Routine”). Este mecanismo, diseñado décadas atrás para los sistemas operativos de propósito general, introduce grandes dificultades para satisfacer los requerimientos de predecibilidad temporal y confiabilidad que demanda el cómputo en tiempo real. En este trabajo se hace un análisis de las dificultades que presenta el modelo de manejo de interrupciones actualmente en uso en los sistemas operativos de tiempo real. Para dar solución a estas dificultades, se propone un nuevo modelo consistente en una unificación total de todos los tipos de actividades en el sistema (ISRs y Tareas) bajo un esquema común de planificación y sincronización. El análisis de la factibilidad de este modelo integrado pone de manifiesto bajo qué circunstancias es superior al modelo tradicional. Adicionalmente se presenta el diseño de un subsistema de administración de interrupciones de bajo nivel que soporta el modelo integrado y que puede ser configurado para usar diferentes modos de operación sobre las arquitecturas de hardware convencionales. El modelo ha sido implementado dentro del núcleo de un sistema operativo experimental desarrollado como parte de este trabajo y que ha permitido mostrar la viabilidad de su realización; así como, la obtención de evidencias experimentales de sus ventajas.

Abstract

The design requirements of real-time applications are radically different from those of general purpose systems. This difference in turn demands of real-time operating systems characteristics and specific mechanisms for this computing segment. Despite this, the mechanisms for handling interruptions of actual real-time operating systems are not more than adjustments to the mechanisms designed decades ago for general purpose operating systems. As a result, real-time operating systems nowadays face great difficulties to meet the requirements of temporal predictability and reliability of these applications. This thesis provides an analysis of the challenges posed by the interrupt management model currently used in actual real-time operating systems. To provide a solution to these difficulties, we proposed a new model which unifies all types of computing activities in the system (ISRs and tasks) into a joint scheme of scheduling and synchronization. A feasibility analysis was designed for this integrated model to show under which circumstances it is superior to the traditional model. Additionally, in our work we present the low level design of an interrupt management subsystem that supports the integrated model and that can be configured to be used under different modes of emulation on conventional hardware architectures. The model has been implemented on a custom designed operating system kernel developed as part of our work, to demonstrate the feasibility of its implementation and to obtain experimental evidence of its benefits.