1 / 22

Sistemas de Tempo-Real

Sistemas de Tempo-Real. (Cont.) Controlo temporal Escalonamento Bibliografia H. Kopetz, Design Principles for Distributed Embedded Applications , Kluwer Academic Publishers , 1997.

Download Presentation

Sistemas de Tempo-Real

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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 2001

  2. 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 2001

  3. 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 2001

  4. Controlo temporal • Sistemas disparados por tempotime-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 2001

  5. Controlo temporal • Sistemas disparados por eventosevent-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 definida ou se utilizam argumentos probabilísticos ou se impõe uma limitação à máxima taxa de eventos Luís Almeida, EST-IPCB, 2º semestre 2001

  6. Controlo temporal • O disparode 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 2001

  7. Controlo temporal • Mas a utilização de interrupções: • Impõe umcusto 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 2001

  8. 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 2001

  9. Controlo temporal • Com encademanto • Sem encademanto ISR1 ISR2 ISR1 ISR2 Luís Almeida, EST-IPCB, 2º semestre 2001

  10. 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 2001

  11. 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 Operativosou Executivos multi-tarefa (muti-tasking). cada actividade é encapsulada numa tarefa. Luís Almeida, EST-IPCB, 2º semestre 2001

  12. 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. tarefa k disparo início tempo terminação C (WCET) Luís Almeida, EST-IPCB, 2º semestre 2001

  13. 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 2001

  14. 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 2001

  15. Executivos Multi-Tarefa interrupção T1 inicializaçãoda ISR1 while (1) { } • Processamento: • Ao nível de uma ISR • (não standard) • Ao nível de uma tarefa • (standard) ISR1 AmostragemProcessamentoActuação T1 inicialização da ISR1 while (1) { espera (sleep) amostragemprocessamento actuação} Device driver interrupção signal ISR1 Device driver Luís Almeida, EST-IPCB, 2º semestre 2001

  16. Executivos Multi-Tarefa Classificação dos SOs e Executivos relativamente às garantias temporais Não Tempo-Real (time-sharing) e.g., Unix, Linux, Windows NT Não é possível majorar o tempo de resposta a um evento Soft Real-Time e.g. OS9, RT-Linux, pSOS, VRTx Usam soluções de escalonamento de tempo-real mas não oferecem garantias temporais Hard Real-Time e.g. HARTIK, Spring Kernel, ... Oferecem garantias temporais Luís Almeida, EST-IPCB, 2º semestre 2001

  17. Escalonamento de Tarefas • Escalonamento (scheduling) • Determina qual a próxima tarefaa 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. T1 T2 T1 T2 Luís Almeida, EST-IPCB, 2º semestre 2001

  18. 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 2001

  19. Escalonamento de Tarefas • Técnicas típicas em sistemas HRT e em alguns SRT • Prioridades fixas, inversas ao período Rate-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 2001

  20. Escalonamento de Tarefas • Alguns resultados para teste de escalonamento • Rate-Monotonic (RM), com preempção e ‘n’ tarefas independentes • U(n) = Sni=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 2001

  21. Escalonamento de Tarefas • Alguns resultados para teste de escalonamento • Earliest Deadline First (EDF), com preempção e ‘n’ tarefas independentes • U(n) = Sni=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 2001

  22. 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 Luís Almeida, EST-IPCB, 2º semestre 2001

More Related