Sistemas de Tiempo Real
Sistemas de Tiempo Real
Sistemas de Tiempo Real
Un sistema de tiempo real (STR o real-time system o RTS) es aquel cuyo correcto funcionamiento
depende de que las salidas “lleguen a tiempo”, es decir, que debe estar acotado el tiempo entre
cada evento y la respuesta que provoca, no necesariamente tiene que ser breve, pero sí acotado.
Existen 2 tipos:
Requerimientos de un STR:
Los STR suaves frecuentemente se diseñan como si fura STR duros, es decir, como si sus deadlines
fueran estrictos.
Diseño de un STR: Dado que un STR es un sistema reactivo con requisitos (estrictos o no) en
cuanto a sus tiempos de respuesta, dichos requisitos se consideran desde la etapa de elaboración
de requerimientos y durante todo el proceso de diseño.
Los problemas que se presentan: Ante cambios menores, hay que volver a testear todo, el testeo
nunca da garantías al 100%. Es muy valioso usar técnicas de programación que nos den cierta
seguridad sobre el cumplimiento que los requisitos de temporización, para no depender mucho de
la verificación.
Para cumplir esos requerimientos, a veces hay que evitar usar técnicas que implican tiempos
largos y/o poco predecibles.
Diseño de un STR: dado que un STR es un sistema reactivo con requisitos (estrictos o no) en
cuanto a sus tiempos de respuesta, dichos requisitos se consideran desde la etapa de elaboración
de requerimientos y durante todo el proceso de diseño.
Un sistema operativo de tiempo real (RTOS): Es un software de base que simplifica el diseño de
software con requerimientos de tiempo real. Permite que el programador estructure la aplicación
como un conjunto de tareas concurrentes, (concurrentes quiere decir que se ejecutan al mismo
tiempo). Así, el procesamiento de cada evento se asigna a una tarea, pudiéndose obtener una
demora razonablemente corta entre el evento y la ejecución de la tarea, sin que haya que escribir
un código muy intrincado.
Los sistemas operativos actuales en tiempo real incluyen normalmente las siguientes
características:
Dado que un STR es un sistema reactivo con requisitos (estrictos o no) en cuanto a sus tiempos de
respuesta, dichos requisitos se consideran desde la etapa de elaboración de requerimientos y
durante todo el proceso de diseño. A diferencia del diseño de un software transaccional común,
en los cuales lo típico, como mucho, es chequear la velocidad una vez programadas sus unidades,
para decidir si optimizarlas o no.
Comparación con OS comunes: Existen similitudes usuales con sistemas operativos de propósitos
generales, como pueden ser las siguientes: