Sistemas de Tempo-Real
-
Upload
beatrice-antwan -
Category
Documents
-
view
33 -
download
0
description
Transcript of Sistemas de Tempo-Real
Luís Almeida, EST-IPCB, 2º semestre 20011Sistemas Tolerantes a Falhas
Sistemas de Tempo-Real
• (Cont.)
• Controlo temporal
• Escalonamento
• Bibliografia
• H. Kopetz, Design Principles for Distributed Embedded Applications, Kluwer Academic Publishers, 1997.
• G. Buttazzo, Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications. Kluwer Academic Publishers, 1997.
Luís Almeida, EST-IPCB, 2º semestre 20012Sistemas Tolerantes a Falhas
Controlo lógico e controlo temporal
Controlo lógico
Controlo do fluxo de programa, i.e., sequência efectiva das operações a ser executadas (e.g., descrito através de um fluxograma)
Controlo temporal
Controlo dos instantes de execução das operações do programa (e.g., disparo de actividades, verificação do cumprimento de deadlines,...)
Luís Almeida, EST-IPCB, 2º semestre 20013Sistemas Tolerantes a Falhas
Controlo temporal
Disparo de funções (tarefas)
Por tempo (time-trigger)
A execução de actividades (tarefas) é disparada por intermédio de um sinal de controlo baseado na progressão do tempo (e.g., através de uma interrupção periódica).
Por eventos (event-trigger)
A execução de actividades(tarefas) é disparada por intermédio de um sinal de controlo assíncrono baseado na alteração do estado do sistema (e.g., através de uma interrupção externa).
Luís Almeida, EST-IPCB, 2º semestre 20014Sistemas Tolerantes a Falhas
Controlo temporal
Sistemas disparados por tempo
time-triggered (TT) systems
• Típicos em aplicações de controlo (amostragem de variáveis contínuas).
• Taxa de utilização do CPU constante mesmo quando não há variações no estado do sistema.
•Situação de pior caso bem definida
Luís Almeida, EST-IPCB, 2º semestre 20015Sistemas Tolerantes a Falhas
Controlo temporal
Sistemas disparados por eventos
event-triggered (ET) systems
• Típicos na monitorização de condições esporádicas no estado do sistema (e.g., verificação de alarmes ou de solicitações assíncronas).
• Taxa de utilização do sistema computacional (e.g. CPU) variável consoante a frequência de ocorrência de eventos.
•Situação de pior caso mal definidaou se utilizam argumentos probabilísticosou se impõe uma limitação à máxima taxa
de eventos
Luís Almeida, EST-IPCB, 2º semestre 20016Sistemas Tolerantes a Falhas
Controlo temporal
O disparo de actividades (tarefas) é normalmente feito por interrupções
• Interrupções periódicas (através de timers) para actividades disparadas por tempo (time-triggered).Estas interrupções são usadas para contar tempo.
• Interrupções assíncronas (comunicações, externas, etc.) para actividades disparadas por eventos (event-triggered). Estas interrupções são usadas para sinalizar a ocorrência de eventos (e.g., disparo de um alarme, recepção de dados por um meio de comunicação, acção do operador)
Luís Almeida, EST-IPCB, 2º semestre 20017Sistemas Tolerantes a Falhas
Controlo temporal
Mas a utilização de interrupções:
• Impõe um custo computacional adicional necessário para a salvaguarda do estado do CPU no momento de cada interrupção (i.e., salvaguarda dos resgistos no stack).
• Retira capacidade computacional à execução do programa interrompido. Quanto mais interrupções surgirem mais devagar o programa executa pois está constatemente a ser interrompido. No limite, a execução do programa fica completamente bloqueada.
Luís Almeida, EST-IPCB, 2º semestre 20018Sistemas Tolerantes a Falhas
Controlo temporal
A utilização de interrupções pode ser feita com ou sem encadeamento (nesting)
• Com encademanto – é permitida a interrupção de rotinas de atendimento a interrupção (ISRs) por interrupções de maior prioridade.
•Maior dificuldade de dimensionamento do stack
•Melhor resposta temporal das ISRs de maior prioridade
• Sem encademanto – cada ISR executa até final sem interrupção. Outras interrupções pendentes são atrasadas.
•Características opostas do caso anterior
•Notar o bloqueio das ISRs de maior prioridade pelas de menor.
Luís Almeida, EST-IPCB, 2º semestre 20019Sistemas Tolerantes a Falhas
Controlo temporal
• Com encademanto
• Sem encademanto
ISR2
ISR1
ISR2
ISR1
Luís Almeida, EST-IPCB, 2º semestre 200110Sistemas Tolerantes a Falhas
Executivos Multi-Tarefa
A programação de aplicações de controlo integrado quando:
envolve apenas um ciclo principal e, eventualmente,
um número muito reduzido de actividades assíncronas
é normalmente efectuada de forma directa sobre o CPU, i.e., sem recurso a estruturas de SW intermédias tipo Sistema Operativo ou Executivo (Kernel).
Luís Almeida, EST-IPCB, 2º semestre 200111Sistemas Tolerantes a Falhas
Executivos Multi-Tarefa
Por outro lado, quando a aplicação envolve múltiplas actividades, assíncronas ou não:
a respectiva programação é facilitada pela utilização de Sistemas Operativos ou Executivos multi-tarefa (muti-tasking).
cada actividade é encapsulada numa tarefa.
Luís Almeida, EST-IPCB, 2º semestre 200112Sistemas Tolerantes a Falhas
Executivos Multi-Tarefa
Definição de tarefa (processo)
Sequência de instruções que, na ausência de outras actividades, é continuamente executada pelo CPU até estar terminada.
disparoinício
terminação
tarefa k
C (WCET)
tempo
Luís Almeida, EST-IPCB, 2º semestre 200113Sistemas Tolerantes a Falhas
Executivos Multi-Tarefa
A programação de aplicações com recurso a estruturas de SW tipo Sistema Operativo ou Executivo permite:
• Maior nível de abstracção
• Menor dependência relativamente ao HW
• Maior facilidade de manutenção do SW
Nota: Mas mesmo nestes casos, o disparo das tarefas é feito por interrupções. Há uma interrupção periódica que fornece uma medida de tempo ao SO ou Executivo e é possível usar interrupções assíncronas embora, normalmente, estejam encapsuladas em device drivers.
Luís Almeida, EST-IPCB, 2º semestre 200114Sistemas Tolerantes a Falhas
Executivos Multi-Tarefa
O processamento associado a uma dada actividade assíncrona pode ser efectuado:
• Ao nível de uma ISR
•Não se tira partido de algumas vantagens do SO ou Executivo(programação de baixo nível – muito dependente do HW)
•Elevada reactividade a eventos externos (micro-segundos...)
• Ao nível de uma tarefa
•Tira partido das vantagens do SO ou Executivo (programação de alto nível, menor dependência do HW, melhor manutenção)
•Menor reactividade a eventos externos (maior overhead)
•As ISRs são reduzidas para menor perturbação das tarefas
Luís Almeida, EST-IPCB, 2º semestre 200115Sistemas Tolerantes a Falhas
Executivos Multi-Tarefa
Processamento:
• Ao nível de uma ISR
(não standard)
• Ao nível de uma tarefa
(standard)
T1
inicializaçãoda ISR1
while (1) { }
ISR1
AmostragemProcessamentoActuação
T1
inicialização da ISR1
while (1) { espera (sleep) amostragem processamento actuação}
ISR1
interrupção
interrupção
signal
Device driver
Device driver
Luís Almeida, EST-IPCB, 2º semestre 200116Sistemas Tolerantes a Falhas
Executivos Multi-Tarefa
Classificação dos SOs e Executivos relativamente às garantias temporais
Não Tempo-Real (time-sharing)e.g., Unix, Linux, Windows NTNão é possível majorar o tempo de resposta a um evento
Soft Real-Timee.g. OS9, RT-Linux, pSOS, VRTxUsam soluções de escalonamento de tempo-real mas não
oferecem garantias temporais
Hard Real-Timee.g. HARTIK, Spring Kernel, ...Oferecem garantias temporais
Luís Almeida, EST-IPCB, 2º semestre 200117Sistemas Tolerantes a Falhas
Escalonamento de Tarefas
Escalonamento (scheduling)
Determina qual a próxima tarefa a ser executada (de entre as que estão activas – ready)
Pode ser efectuado
• Com preempçãouma tarefa pode ser temporariamente suspensa para a execução de outra mais prioritária.
• Sem preempçãoUma tarefa, uma vez iniciada a sua execução, não pode ser interrompida até terminar.
T2
T1
T2T1
Luís Almeida, EST-IPCB, 2º semestre 200118Sistemas Tolerantes a Falhas
Escalonamento de Tarefas
Técnicas típicas em sistemas NRT ou mesmo em alguns SRT
• FCFS (First Come First Served) – má resposta temporal (m variável)
• Round Robin (implica noção de time-slice) – executa as tarefas em sequência independentemente da importâcia
• Prioridades – a tarefa mais prioritária executa primeiro – starvation das tarefas de menor prioridade (atenuado com aging, a prioridade aumenta com o tempo de espera)
Luís Almeida, EST-IPCB, 2º semestre 200119Sistemas Tolerantes a Falhas
Escalonamento de Tarefas
Técnicas típicas em sistemas HRT e em alguns SRT
• Prioridades fixas, inversas ao períodoRate-Monotonic (RM)
• Prioridades fixas, inversas à deadline
Deadline-Monotonic (DM)
• Prioridades dinâmicas inversas à distância à deadline
Earliest Deadline First (EDF)
• Prioridades dinâmicas inversas ao tempo de folga (laxity)
Least Laxity First (LLF)
Luís Almeida, EST-IPCB, 2º semestre 200120Sistemas Tolerantes a Falhas
Escalonamento de Tarefas
Alguns resultados para teste de escalonamento
• Rate-Monotonic (RM), com preempção e ‘n’ tarefas independentes
U(n) = ni=1(Ci/Pi) n(21/n-1) =>
=> Uma activação por período garantida
U(1) 1
U(2) 0.83...U() 0.69
Luís Almeida, EST-IPCB, 2º semestre 200121Sistemas Tolerantes a Falhas
Escalonamento de Tarefas
Alguns resultados para teste de escalonamento
• Earliest Deadline First (EDF), com preempção e ‘n’ tarefas independentes
U(n) = ni=1(Ci/Pi) 1 =>
=> Uma activação por período garantida
Permite usar 100% do CPU mantendo asgarantias temporais
Luís Almeida, EST-IPCB, 2º semestre 200122Sistemas Tolerantes a Falhas
Escalonamento de Tarefas
Os resultados anteriores têm de ser modificados no caso de:
•Não-preempção
•Não independência:
• Recursos partilhados
• Precedências
• E é necessário ter em conta o overhead do SO ou do Executivo(e.g., nas mudanças de contexto, no antendimento da interrupção de contagem do tempo)
• Bem como o tempo gasto no atendimento de interrupções assíncronas