Quiero comprobar si entiendo correctamente:
-
Tiempo real significa que una acción siempre se realiza en un período de tiempo específico y nunca llega tarde a la fecha límite, un límite superior y, a veces, también un límite inferior. Si un sistema es en tiempo real, su tiempo de ejecución siempre debe ser determinista.
-
Para lograr un comportamiento en tiempo real, tanto el hardware como el software deben estar diseñados para satisfacer la restricción anterior. No todos los componentes de hardware son en tiempo real, por ejemplo, Internet y una red en tiempo real es una red en la que todos los nodos y conexiones se comportan en tiempo real. ¿Hay otros ejemplos de hardware no en tiempo real?
-
Cuando un componente de hardware es en tiempo real, el software que controla el hardware debe estar diseñado para hacerlo. Por esta razón, tenemos que usar lenguaje de bajo nivel como ensamblaje y C (es decir, agregar instrucciones siempre toma 1 ms) para tener un control estricto del tiempo de ejecución de cada instrucción.
-
Podemos lograr un comportamiento en tiempo real en sistemas operativos no en tiempo real como Linux si escribimos software como si estuviéramos escribiendo un software en tiempo real: podemos controlar el tiempo de ejecución del software. Sin embargo, dado que el sistema operativo de escritorio no es determinista (por flexibilidad), incluso si ejecutamos software diseñado para su ejecución en tiempo real, no hay garantía de que el software se ejecute en tiempo real. En esta situación, llamamos al software soft-realtimme.
¿Entiendo correctamente?