Fundamentos de Sistemas de Tiempo Real y Estándares POSIX

Clasificado en Informática

Escrito el en español con un tamaño de 4,21 KB

Motivación

La construcción de sistemas de tiempo real presenta desafíos únicos que los diferencian de otros tipos de sistemas. Las metodologías, herramientas y tecnologías convencionales no son adecuadas debido a las siguientes razones:

  1. Fiabilidad y Garantías Temporales: No son suficientemente fiables, contemplan el tiempo de respuesta medio, no el peor caso, y no garantizan los requisitos temporales.
  2. Entornos de Desarrollo y Ejecución: Las plataformas de desarrollo y ejecución suelen ser diferentes, lo que dificulta la realización de pruebas precisas en la plataforma de ejecución y la medición exacta de los tiempos.

Diseños de Sistemas de Tiempo Real

El diseño de sistemas de tiempo real abarca diversas perspectivas:

Funcional:
Define la relación entre los valores de entrada (E) y de salida (S). (Notación: Simulink)
Concurrente:
Gestiona las actividades concurrentes, su sincronización y comunicación. (Notación: AADL)
Temporal:
Se centra en el cumplimiento de los requisitos temporales.
Arquitectónico:
Describe los componentes del sistema y las relaciones entre ellos. (Notación: AADL)

Un Sistema Operativo de Tiempo Real (SOTR)

Un Sistema Operativo de Tiempo Real (SOTR) debe proporcionar soporte fundamental para:

  • Concurrencia: Mediante el uso de procesos ligeros (threads).
  • Temporización: Permitiendo la medida de tiempos y la ejecución periódica de tareas.
  • Planificación Determinista: Asegurando una gestión predecible del procesador y otros recursos.
  • Dispositivos E/S: Facilitando el acceso a recursos de hardware y el manejo de interrupciones.

Ejemplos de SOTR: pSOS, LynxOS, RT-Linux.

POSIX

POSIX es un conjunto de normas IEEE/ISO que definen interfaces de sistemas operativos. Su objetivo es permitir el desarrollo de software portátil y reutilizable. Estas normas especifican servicios que pueden ser incluidos o no en un sistema operativo particular, ofreciendo flexibilidad en su implementación.

Perfiles de Aplicación POSIX

Los Perfiles de Aplicación POSIX definen subconjuntos de servicios adaptados a distintos tipos de aplicaciones. En particular, POSIX.13 establece perfiles específicos para sistemas de tiempo real:

PSE50 (Perfil de Sistema de Tiempo Real Mínimo):
Un sistema de tiempo real mínimo, sin gestión de memoria, ficheros ni terminal; solo soporta threads.
PSE51 (Perfil de Controlador de Tiempo Real):
Un controlador de tiempo real que incluye sistema de ficheros y terminal.
PSE52 (Perfil de Sistema de Tiempo Real Dedicado):
Un sistema de tiempo real dedicado con gestión de memoria y procesos pesados.
PSE53 (Perfil de Sistema de Tiempo Real Generalizado):
Un sistema de tiempo real completo que ofrece todo tipo de servicios.

Sistemas Distribuidos de Tiempo Real

Para asegurar un comportamiento temporal correcto en sistemas distribuidos, es crucial acotar los tiempos de transmisión. Estos tiempos incluyen:

  • El retardo entre la aplicación y el software de comunicaciones.
  • El retardo en los búferes de transmisión y recepción.
  • El tiempo de transmisión en la red.

Es imperativo utilizar protocolos con tiempo de transmisión acotado en todos los niveles:

  • Acceso al Medio: Implementación de mecanismos como el paso de testigo.
  • Niveles Superiores: Garantía de un tiempo de espera acotado.
  • Conflicto con Tolerancia a Fallos: Gestión de retransmisiones por fallos, lo cual puede introducir retardos adicionales.

Entradas relacionadas: