Qual o propósito dos trabalhos na área de tempo real ?
-
Uma aplicação com requisitos temporais pode ser comparada
a uma “prova de rally” ou uma “gincana”. Em um dado momento, uma atividade
deve ser liberada, com uma certa missão, e deve ser concluída
até um dado instante de tempo. Para acontecer, essa atividade precisa
de recursos, pode ser dividida em sub-atividades, com algumas partes necessariamente
seqüênciais, outras podendo ser realizadas em paralelo, estabelecendo
relações de precedência internas. Várias sub-atividades
podem apresentar relações de exclusão mútua
por conta de recursos comuns que necessitam (por exemplo, o processador,
uma estrutura de dados, etc).
-
-
Se nada atrapalhasse essa atividade, uma vez definida as suas disputas
internas, seria fácil determinar o caminho crítico e o tempo
máximo até a sua conclusão (tempo máximo de
resposta). Este tempo teria que incorporar os não determinismos
nos tempos de execução de cada sub-atividade, causados por
caches, desvios de fluxo, etc. O tempo máximo de resposta da atividade
deve necessariamente refletir os não determinismos dos tempos das
sub-atividades, que não puderem ser eliminados (por exemplo, desativando
a cache).
-
-
Ocorre que, muitas vezes, diversas atividades executam simultaneamente
e elas atrapalham-se mutuamente. É muito difícil impedir
que uma atividade atrapalhe outra atividade em função da
exclusão mútua necessária com respeito a determinados
recursos. No caso de múltiplas atividades, alguma sempre vai ser
atrapalhada.
-
-
O que pode ser feito então?
-
-
Calcular a atrapalhação possível no sistema permite
previsibilidade, isto é, antecipar o comportamento da aplicação
no tempo. Para tanto, é necessário modelar como a atrapalhação
acontece, possibilitando dessa forma uma análise quantitativa.
-
-
Por outro lado, pode-se construir sistemas onde existam mecanismos claros
que controlem “quem atrapalha quem e quando”. De posse de mecanismos
de controle completos sobre a divisão de recursos é possível
implementar políticas sobre como a atrapalhação deve
acontecer. Sem mecanismos eficazes de gestão da atrapalhação,
não adianta estabelecer políticas de privilégio, pois
não haverá como realizá-las, isto é, implementá-las
no sistema.
-
-
Em resumo, os trabalhos na área de tempo real podem ser a grosso
modo classificados em
trabalhos de análise (identificar e quantificar o efeito
das fontes de atrapalhação)
e trabalhos de síntese (criar mecanismos de gerência,
políticas de divisão de recursos).