Uploaded by Sam eagle good

guia-aula5

advertisement
Departamento de Engenharia Informática
Licenciatura em Engenharia Informática – Computadores e Sistemas
Sistemas de Tempo Real
Guia (Aula 5) – Análise de resposta temporal para prioridades fixas em
sistemas não preemptivos.
1. Análise de resposta temporal para sistemas não preemptivos
Como vimos, a expressão base para a análise de resposta temporal para prioridade fixas
é:
Ri = Ci + Ii
(1)
Podemos adaptar a formulação da análise de resposta temporal para prioridades fixas em
sistemas preemptivos, para sistemas não preemptivos.
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
j∈lp ( i )
(2)
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.
Seguindo esta abordagem, podemos dizer que o bloqueio é um componente da
interferência e adicionar o bloqueio à interferência. Consequentemente, encontramos o
pior tempo de interferência utilizando a expressão recorrente:
I
n +1
i
⎡ I in ⎤
= Bi + ∑ ⎢ ⎥C j
j∈hp (i ) ⎢ T j ⎥
(3)
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
Guia (Aula 5) – Análise de resposta temporal para prioridades fixas em
sistemas não preemptivos.
2. Escalonador de prioridades fixas preemptivo, com FIFO dentro das
prioridades
Uma forma de ultrapassar o problema de existir poucas prioridades no sistema alvo é
atribuir a mesma prioridade a várias tarefas. Nesta situação, a forma mais comum de
escalonar tarefas com prioridades iguais é servir as tarefas pela sua ordem de activação,
de uma forma não preemptiva.
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 +1 = Bi + Ci +
⎡ Rin ⎤
∑ ⎢ ⎥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)
Note que, j ∈ ep(i) e j≠i
Pág. 2/2
Download