Aunque ya hemos visto que existen distintos tipos de sistemas de Tiempo Real (tenéis la clasificación en esta entrada), existen ciertas características que son comunes a todos ellos. Las más importantes son las siguientes:
- Gran complejidad: Los sistemas de Tiempo Real suelen ser los más complicados en cuanto a especificación, diseño y mantenimiento debido a las exigencias que plantean respecto al cumplimiento de los plazos y latencias. Además a esto se suma que en multitud de aplicaciones actuales son sistemas geográficamente distribuidos, lo que los hace todavía más complejos.
- Ejecución simultánea de tareas: Para cumplir con los plazos especificados para el sistema casi siempre es necesario aprovechar el paralelismo intrínseco a casi todas las aplicaciones y avanzar trabajo en paralelo ejecutando simultáneamente varias tareas. Además, la distribución geográfica de los recursos que mencionábamos en el punto anterior también suele forzar esta ejecución simultánea.
- Determinismo: Para garantizar que el sistema cumple con los plazos, debemos evitar cualquier fuente de aleatoriedad en él. Es decir, la única manera de poder garantizar que el sistema es de Tiempo Real es que siempre se comporte de la misma manera. Los tiempos de ejecución de las tareas no pueden estar afectados por fenómenos estocásticos que hagan que no sean predecibles.
- Fiabilidad y seguridad: Por este mismo motivo es necesario que el sistema sea fiable y seguro, garantizando tolerancia a fallos en todos los casos por si alguno de los componentes del sistema no funciona adecuadamente o como se esperaba.
Estas propiedades son las que debemos tener siempre en cuenta al especificar, diseñar, implementar, utilizar y mantener un sistema de Tiempo Real.
No hay comentarios:
Publicar un comentario