• Nenhum resultado encontrado

Tarefas em Tempo Real

No documento Lista de Figuras (páginas 33-37)

2.3 Sistemas de Tempo Real

2.3.1 Tarefas em Tempo Real

Tarefas em tempo real cr´ıtico (r´ıgido ou hard), ou tarefas cr´ıticas, s˜ao aquelas que devem produzir seus resultados dentro de um certo tempo limite. O sistema ´e considerado falho caso alguma tarefa de tempo real cr´ıtico n˜ao produza seus resultados requeridos antes do tempo especi-ficado. Normalmente, estas tarefas controlam operac¸˜oes cr´ıticas cuja n˜ao satisfac¸˜ao das restric¸˜oes temporais resulta em consequˆencias desastrosas, em alguns casos com perda de vidas humanas.

Sistemas que possuam tarefas de tempo real cr´ıtico devem empregar um alto grau de robustez e tolerˆancia a falhas. Exemplos destes tipos de sistemas s˜ao os de navegac¸˜ao de aeronaves e de protec¸˜ao de linhas de alta tens˜ao, equipamentos m´edicos e de transporte (LIU, 2000; STANKO-VIC, 1988).

Tarefas em tempo real firme (firm), ou tarefas firmes, s˜ao tarefas que, caso os resultados alcanc¸ados n˜ao estejam dentro do deadline, o sistema n˜ao falha e os resultados s˜ao simples-mente descartados. Em outras palavras, a utilidade dos resultados computados por uma tarefa de tempo real firme que n˜ao satisfac¸a seu deadline ´e zero. Normalmente, estas tarefas contro-lam aplicac¸˜oes multim´ıdia. Por exemplo, quando um quadro de v´ıdeo chega com um atraso de mais de um segundo, ele ´e simplesmente descartado, para n˜ao haver o risco de ser apresentado desordenadamente em relac¸˜ao aos outros quadros (LIU, 2000).

Tarefas em tempo real n˜ao-cr´ıtico (soft), ou tarefas n˜ao-cr´ıticas, possuem tempo limite as-sociado, mas as restric¸˜oes sobre este tipo de tarefa n˜ao s˜ao expressas em termos do tempo de resposta absoluto, e sim em termos do tempo m´edio de resposta requerido. Em sistemas que possuam apenas tarefas de tempo real n˜ao-cr´ıtico, n˜ao ´e catastr´ofico quando as restric¸˜oes tem-porais n˜ao s˜ao satisfeitas. O n˜ao cumprimento de uma tarefa em resposta a um evento em um determinado intervalo de tempo n˜ao provoca danos irrevers´ıveis, causando apenas a degradac¸˜ao no comportamento do sistema. Um exemplo deste tipo de sistema s˜ao navegadores Web. Nestes sistemas considera-se como falha a situac¸˜ao em que as p´aginas requisitadas levam mais que o tempo m´edio a que se est´a acostumado. Isso expressa somente que o desempenho do sistema est´a degradado e o pior que poder´a acontecer ´e que os dados n˜ao ser˜ao apresentados t˜ao rapida-mente quanto desejado. Outros exemplos s˜ao comutac¸˜ao telefˆonica, jogos eletrˆonicos, sistemas de transac¸˜ao on-line, entre outros (LIU, 2000; BARRETO, 2005).

2.3 Sistemas de Tempo Real 23

Cada tarefa que ´e realizada em sistemas de tempo real tem alguma propriedade temporal que deve ser considerada em sua atribuic¸˜ao ao processador. As principais propriedades temporais de uma dada tarefa se referem a um destes itens (LIU, 2000; ARTIST2, 2008; BUTTAZZO, 2004;

MOHAMMADI; AKL, 2005):

tempo de in´ıcio (ts): tempo que uma tarefa inicia sua execuc¸˜ao no processador;

tempo de t´ermino (tf): tempo que uma tarefa encerra sua execuc¸˜ao;

tempo de ativac¸˜ao (release time) (tr): tempo em que a tarefa ´e inserida na fila de pronto, ou seja, na fila das tarefas que est˜ao prontas para executar.

tempo de chegada (arrival time) (ta): tempo em que a tarefa recebe a indicac¸˜ao de que deve ser executada;

delay (td): tempo m´ınimo que deve passar antes da execuc¸˜ao da tarefa ser iniciada e depois que a tarefa ´e liberada para execuc¸˜ao;

deadline (D): tempo limite no qual a execuc¸˜ao da tarefa deve ser completada, depois que a tarefa ´e liberada para execuc¸˜ao. Uma restric¸˜ao de deadline D implica que a tarefa deve ocorrer dentro de D unidades de tempo. O deadline absoluto de uma tarefa ´e o valor de tempo absoluto, i.e. contado a partir do tempo zero, no qual os resultados de uma tarefa s˜ao esperados, como se medido por algum rel´ogio f´ısico. O deadline relativo ´e o intervalo de tempo entre o in´ıcio da tarefa e o instante no qual o deadline ocorre ou, em outras palavras, deadline relativo ´e o intervalo temporal entre a chegada de uma tarefa e o deadline correspondente.

tempo de execuc¸˜ao ou durac¸˜ao (C): tempo necess´ario para o processador executar a tarefa sem interrupc¸˜ao;

pior caso de tempo de execuc¸˜ao (wct): tempo m´aximo gasto para a execuc¸˜ao da tarefa, depois que esta ´e liberada para execuc¸˜ao. O pior caso de tempo de execuc¸˜ao tamb´em se refere ao pior caso de tempo de resposta; e

• peso ou prioridade (ϖ): urgˆencia relativa da tarefa.

Considerando um sistema em tempo real consistindo de um conjunto de tarefas T={τ12, ..., τn}, onde o pior caso de tempo de execuc¸˜ao de cada tarefa τ1 ´e Ci. O sistema ´e dito de tempo real se existe ao menos uma tarefaτiT , que satisfac¸a uma das seguintes condic¸˜oes (MOHAM-MADI; AKL, 2005):

2.3 Sistemas de Tempo Real 24

1. A tarefa τi ´e uma tarefa em tempo real cr´ıtica. Isto ´e, a execuc¸˜ao da tarefa τi deve ser completada dentro de um determinado deadline Dital que CiDi.

2. A tarefa τi ´e uma tarefa em tempo real n˜ao-cr´ıtica. Isto ´e, quanto mais tarde a tarefa τi

termina sua computac¸˜ao ap´os o deadline D, mais penalidade ela paga. Uma func¸˜ao de penalidade P(τi) ´e definida para a tarefa: se CiDi ent˜ao P(τi) =0, sen˜ao P(τi)>0. O valor de P(τi) ´e uma func¸˜ao crescente de CiDi.

3. A tarefaτi´e uma tarefa em tempo real firme. Isto ´e, quanto mais cedo a tarefaτitermina sua computac¸˜ao ap´os o deadline D, mais recompensa ela ganha. Uma func¸˜ao de recompensa R(τi)´e definida para a tarefa: se CiDient˜ao R(τi) =0, sen˜ao R(τi)>0. O valor de R(τi)

´e uma func¸˜ao crescente de DiCi.

O conjunto das tarefas T ={τ12, ...,τn}pode ser uma combinac¸˜ao de tarefas de tempo real cr´ıticas, n˜ao-cr´ıticas e firmes.

Seja TSo conjunto de todas as tarefas em tempo real n˜ao-cr´ıticas em T , i.e. TS={τS,1S,2, ..., τS,l}comτS,iT . A func¸˜ao penalidade do sistema ´e P(T) =∑li=1P(τS,i).

Seja TFo conjunto de todas as tarefas em tempo real firmes em T , i.e. TF={τF,1F,2, ...,τF,k} comτF,iT . A func¸˜ao recompensa do sistema ´e R(T) =∑ki=1R(τF,i).

Classificac¸˜ao de Tarefas

O problema geral de escalonamento de tarefas ´e determinar uma ordem para a execuc¸˜ao das tarefas que ser˜ao executadas tal que v´arias restric¸˜oes sejam satisfeitas. O processo de escalona-mento de tarefas em tempo real cr´ıtico busca uma ordem para as tarefas tal que as execuc¸˜oes destas sejam completadas antes de um deadline geral (LIU, 2000).

Cada escalonador de tarefas ´e caracterizado pelo algoritmo de escalonamento que ele em-prega. Um algoritmo de escalonamento apropriado deve ser projetado baseado nas propriedades do sistemas e de suas tarefas. Algumas propriedades s˜ao apresentadas a seguir (LIU; LAYLAND, 1973; STANKOVIC, 1988; LIU, 2000; BARRETO, 2005; MOHAMMADI; AKL, 2005):

Tarefas cr´ıticas, n˜ao-cr´ıticas e firmes. Estas propriedades j´a foram discutidas nesta sec¸˜ao.

Tarefas dependentes e independentes. Uma tarefa dependente ´e aquela cuja execuc¸˜ao pode requerer informac¸˜ao originada em outra tarefa do sistema ou deve ser iniciada necessariamente

2.3 Sistemas de Tempo Real 25

ap´os o t´ermino da execuc¸˜ao de outra tarefa, ou ambos. Uma tarefa independente ´e aquela que n˜ao possui essas restric¸˜oes.

Tarefas peri´odicas, aperi´odicas e espor´adicas. Tarefas peri´odicas s˜ao aquelas ativadas (re-leased) regularmente em intervalos fixos de tempo, chamados per´ıodo e representados por P.

Normalmente, tarefas peri´odicas possuem restric¸˜oes que indicam quais instˆancias de tarefas de-vem ser executadas uma vez por per´ıodo.

Tarefas aperi´odicas s˜ao ativadas irregularmente ao longo do tempo, a uma taxa n˜ao limitada e desconhecida de tempo. Normalmente, a restric¸˜ao temporal usada ´e um deadline D.

Tarefas espor´adicas s˜ao ativadas irregularmente, a uma taxa limitada e conhecida de tempo.

A taxa limitada ´e caracterizada por um intervalo m´ınimo de tempo entre duas ativac¸˜oes sucessivas da mesma tarefa. Normalmente, a restric¸˜ao temporal usada ´e um deadline D.

Uma tarefa aperi´odica possui um deadline pelo qual ela deve completar, ou deve possuir uma restric¸˜ao sobre os tempos inicial e final. A maioria do processamento baseado em sensores ´e peri´odico por natureza.

Tarefas preemptivas e n˜ao-preemptivas. As tarefas preemptivas podem sofrer interrupc¸˜ao do processamento, ou preempc¸˜ao, por outras tarefas com maior prioridade. As tarefas n˜ao-preemptivas n˜ao podem sofrer interrupc¸˜ao do processamento ap´os o in´ıcio de sua execuc¸˜ao.

Quando todas as tarefas do sistema admitem preempc¸˜ao em qualquer ponto da sua execuc¸˜ao, diz-se que o conjunto de tarefas admite preempc¸˜ao total. O acesso a recursos compartilhados pode impor restric¸˜oes sobre o grau de preempc¸˜ao de um conjunto de tarefas.

Tarefas de prioridade fixa e de prioridade dinˆamica. No escalonamento dirigido a priori-dades, uma prioridade ´e atribu´ıda a cada tarefa. Para tarefas de prioridade fixa a atribuic¸˜ao das prioridades ´e realizada estaticamente, i.e., antes da execuc¸˜ao do sistema. Para tarefas de priori-dade dinˆamica a atribuic¸˜ao das prioripriori-dades ´e realizada enquanto o sistema est´a em execuc¸˜ao e pode alterar ao longo do tempo.

Sistemas est´aticos e flex´ıveis. Sistemas est´aticos assumem que muitas das informac¸˜oes tem-porais de cada tarefa, como deadline, delay e pior caso de tempo de execuc¸˜ao, est˜ao dispon´ıveis a priori e ent˜ao seu projeto ´e est´atico. Os sistemas flex´ıveis s˜ao aqueles baseados em projetos

2.3 Sistemas de Tempo Real 26

dinˆamicos, ou seja, estas informac¸˜oes est˜ao dispon´ıveis ou alteram-se enquanto o sistema est´a em execuc¸˜ao.

No documento Lista de Figuras (páginas 33-37)

Documentos relacionados