Guia Aula5

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 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.

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 (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.

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 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

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 ⎤
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)

Note que, j ∈ ep(i) e j≠i

Pág. 2/2

Você também pode gostar