En informática, el tiempo real se refiere a un marco de tiempo que es muy breve, que parece ser inmediato. Cuando una computadora procesa datos a esta velocidad, lee y maneja los datos a medida que se reciben, produciendo resultados sin demora. Por ejemplo, un sitio web que se actualiza en tiempo real permitirá a sus espectadores ver los cambios tan pronto como ocurran, en lugar de esperar a que las actualizaciones sean visibles en una fecha posterior.
Un proceso informático en tiempo no real no tiene fecha límite. Por otro lado, se espera que un sistema en tiempo real responda no solo rápidamente, sino también dentro de un período de tiempo predecible. Un buen ejemplo es el sistema antibloqueo de frenos de un automóvil. Se espera que un sistema de frenos antibloqueo libere los frenos de un vehículo, evitando un bloqueo peligroso de las ruedas, en un período de tiempo predeciblemente corto.
Desafortunadamente, hay ocasiones en las que los sistemas en tiempo real no responden como se desea. Dicho proceso falla cuando su tarea no se completa antes de su fecha límite. En informática, no se otorga un período de gracia debido a otras demandas de un sistema. Los plazos deben mantenerse sin tener en cuenta otros factores; se consideran de misión crítica.
Cuando un proceso se considera difícil en tiempo real, debe completar su operación en un tiempo específico. Si no cumple con su fecha límite, su funcionamiento no tiene valor y el sistema del que es un componente podría sufrir fallas. Sin embargo, cuando un sistema se considera en tiempo real suave, hay margen para retrasos. Por ejemplo, en un sistema de este tipo, un proceso retrasado puede no provocar que todo el sistema falle. En cambio, puede conducir a una disminución de la calidad habitual del proceso o sistema.
Los sistemas duros en tiempo real se utilizan a menudo en sistemas integrados. Considere, por ejemplo, un sistema de control de motor de automóvil. Este sistema se considera difícil porque un proceso tardío podría hacer que el motor falle. Estos sistemas se emplean cuando es crucial que una tarea o evento se maneje dentro de un plazo estricto. Esto suele ser necesario cuando pueden producirse daños o la muerte como resultado de una falla del sistema.
Los sistemas blandos en tiempo real se emplean generalmente cuando hay varios sistemas conectados que deben mantenerse a pesar de los eventos y circunstancias cambiantes. Estos sistemas también se utilizan cuando existen requisitos de acceso concurrente. Por ejemplo, el software que se utiliza para mantener los horarios de viaje de las principales empresas de transporte suele ser software en tiempo real. Es necesario que dicho software actualice los horarios con poca demora. Sin embargo, no es probable que una demora de unos segundos cause caos.