O que é tempo real?
Em computação, tempo real refere-se a um período de tempo muito breve, parecendo ser imediato. Quando um computador processa dados nessa velocidade, ele lê e manipula dados à medida que são recebidos, produzindo resultados sem demora. Por exemplo, um site que é atualizado em tempo real permitirá que seus visualizadores vejam as alterações assim que elas ocorrerem, em vez de esperar que as atualizações sejam visíveis posteriormente.
Um processo de computador não em tempo real não tem um prazo. Por outro lado, espera-se que um sistema em tempo real responda não apenas rapidamente, mas também dentro de um período de tempo previsível. Um bom exemplo é o sistema de freio antibloqueio de um carro. Espera-se que um sistema de freio antibloqueio libere os freios de um veículo, impedindo o travamento perigoso das rodas, em um período de tempo previsivelmente curto.
Infelizmente, há momentos em que os sistemas em tempo real falham em responder conforme desejado. Esse processo falha quando sua tarefa não é concluída antes do prazo final. Na computação, não há período de carência devido a outras demandas em um sistema. Os prazos devem ser mantidos sem levar em consideração outros fatores; eles são considerados de missão crítica.
Quando um processo é considerado difícil em tempo real, ele deve concluir sua operação em um horário específico. Se ele não cumprir seu prazo, sua operação não terá valor e o sistema para o qual ele é um componente poderá enfrentar falhas. Quando um sistema é considerado leve em tempo real, no entanto, há espaço para atraso. Por exemplo, em um sistema assim, um processo atrasado pode não causar falha no sistema inteiro. Em vez disso, pode levar a uma diminuição na qualidade usual do processo ou sistema.
Sistemas rígidos em tempo real são frequentemente usados em sistemas embarcados. Considere, por exemplo, um sistema de controle de motor de carro. Esse sistema é considerado difícil porque um processo tardio pode causar falha no mecanismo. Esses sistemas são empregados quando é crucial que uma tarefa ou evento seja tratado com um prazo estrito. Isso geralmente é necessário quando danos ou perda de vida podem ocorrer como resultado de uma falha do sistema.
Sistemas flexíveis em tempo real são geralmente empregados quando existem vários sistemas conectados que devem ser mantidos, apesar da mudança de eventos e circunstâncias. Esses sistemas também são usados quando requisitos de acesso simultâneo estão presentes. Por exemplo, o software usado para manter a programação de viagens das principais empresas de transporte geralmente é leve em tempo real. É necessário que esse software atualize os agendamentos com pouco atraso. No entanto, um atraso de alguns segundos provavelmente não causará confusão.