Guia Aula5
Guia Aula5
Guia Aula5
Como vimos, a expressão base para a análise de resposta temporal para prioridade fixas
é:
Ri = Ci + Ii (1)
Num sistema não preemptivo, o pior caso ocorre quando todas as tarefas de prioridade
superior são lançadas ao mesmo tempo, e a tarefa de prioridade inferior com maior tempo
de execução é activada um instante antes (portanto, já está a ser executada). Neste caso,
a tarefa tem de esperar que a tarefa de prioridade inferior acabe. Este fenómeno é
designado bloqueio. O bloqueio é expresso, relativamente a cada uma das tarefas, como
o tempo de execução máximo das tarefas de prioridade inferior:
Bi = max C j (2)
j∈lp ( i )
Apesar de, num sistema não preemptivo, não existir a interferência causada pela
interrupção das tarefas, continuamos a ter (no pior caso) tarefas de prioridade superior
que devem executar em primeiro lugar. Desta forma, podemos dizer que continuamos a
ter interferência causada por tarefas de prioridade superior.
⎡ I in ⎤
I i
n +1
= Bi + ∑ ⎢ ⎥C j (3)
j∈hp (i ) ⎢ T j ⎥
O valor inicial para a recorrência deve ser zero para todas as tarefas, excepto para a
tarefa de menor prioridade, onde se deve começar com a soma dos tempos de
execução de todas as tarefas de prioridade superior.
Pág. 1/2
Departamento de Engenharia Informática
Licenciatura em Engenharia Informática – Computadores e Sistemas
Sistemas de Tempo Real
A formulação da análise de resposta temporal pode também ser alterada para se adaptar
a estes casos. Para isso, à expressão de prioridades fixas para sistemas preemptivos,
adicionamos o bloqueio causado pelas tarefas de prioridade igual:
⎡ Rin ⎤
Rin +1 = Bi + Ci + ∑ ⎢ ⎥C j
j ∈hp (i ) ⎢ T j ⎥
(4)
Aqui, o bloqueio (Bi), deve contemplar a situação onde a tarefa i foi a última da sua
prioridade a chegar:
Bi = ∑C j
j∈ep ( i ) ∧ j ≠ i
(5)
Pág. 2/2