A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Introdução aos Sistemas de Tempo Real

Apresentações semelhantes


Apresentação em tema: "Introdução aos Sistemas de Tempo Real"— Transcrição da apresentação:

1 Introdução aos Sistemas de Tempo Real
Sergio Cavalcante Centro de Informática – UFPE Assunto: [str]

2 SE::P & A::Software Sistemas de Tempo Real
Sistemas computacionais de tempo real: Tem aspectos temporais em sua especificação Submetidos a requisitos de natureza temporal Resultados devem estar corretos lógica e temporalmente “Fazer o trabalho usando o tempo disponível” Requisitos definidos pelo ambiente físico Aspectos temporais Não estão limitados a uma questão de desempenho Estão diretamente associados com a funcionalidade

3 Sistema de Tempo Real Sistema no qual o comportamento está sujeito a restrições temporais Recommended reading for this part of the course Engineering real-time control systems. M.G. Rodd. Computing and Control Engineering J. October 1995. An overview of real-time control systems engineering. If you are not familiar with real-time systems, you may find it helpful. Available as handout. Software Engineering, 5th edition, Ian Sommerville, Addison Wesley, Chapter 16 (Real-time Systems Design) This chapter is an introduction to real-time software design and much of the material in these notes has been taken from there. It also includes examples of other types of real time systems and source code showing how parallel processes may be implemented

4 Tipos de uso Controle Processamentos de dados Baixo processamento
Requer pouca memória Altamente reativo (muito interativo) Processamentos de dados Processamento digital de sinais Alto processamento Pouco interativo

5 Sistema de Controle de Tempo Real
Monitoram e modificam seu ambiente Estão associados a dispositivos de hardware Sensores: coletam dados do ambiente Atuadores: Mudam o ambiente do sistema Tempo é crítico

6 SE::P & A::Sw::Sistemas de Tempo Real Áreas de Pesquisa
Escalonamento (mais estudado) Modelos e linguagens de programação Protocolos de comunicação Arquitetura de computadores Metodologias de desenvolvimento ...

7 SE::Visão Geral::Arquitetura de Software Exemplo: Tempo de Boot

8 SE::Visão Geral::Arquitetura de Software Exemplo: Mudança de Contexto
MontaVista Linux Kernel Pior caso 436us (vs. 1743us) 99.9% < 195us (vs. 1420us) Fonte: Bill Weinberg, “Linux and XScale for Wireless Consumer Electronics Devices”, IDF’Fall03

9 SE::P & A::Sw::Sistemas de Tempo Real STR e o Ambiente
Estímulos Sensores Respostas Atuadores

10 Modelo de sistema de tempo real
n s o r S e n s o r S e n s o r S e n s o r S e n s o r S e n s o r Sistema de con-trole de tempo real Atuador Atuador Atuador Atuador

11 SE::P & A::Sw::Sistemas de Tempo Real STR e o Ambiente
Fluxo de controle definido pelo ambiente Tarefas ativadas por estímulos do ambiente STR geralmente não tem como limitar estes estímulos Tempos de resposta ao ambiente definem deadlines Dados com prazos de validade Dados desatualizados podem conduzir a respostas incorretas

12 SE::P & A::Sw::Sistemas de Tempo Real Conceitos Básicos
Tarefa ( task ) Segmento de código cuja execução possui atributo temporal próprio Exemplo: método em OO, subrotina, trecho de um programa Deadline Instante máximo desejado para a conclusão de uma tarefa

13 Criticidade Soft real-time system: sua operação é degradada se as restrições de tempo não são obedecidas Hard real-time system: sua operação é incorreta se as restrições de tempo não são obedecidas

14 SE::P & A::Sw::STR:: Conceitos Básicos Criticidade
Sistema de tempo real crítico (Hard real-time system) Todas as tarefas têm Hard Deadline Perda do deadline pode ter conseqüências catastróficas É necessário garantir requisitos temporais ainda durante o projeto Exemplo: usina nuclear, industria petroquímica, mísseis Sistema de tempo real não crítico (Soft real-time system) O requisito temporal descreve apenas o comportamento desejado Perda do deadline não tem conseqüências catastróficas Existe interesse em terminar a tarefa mesmo com atraso Exemplo: início de gravação de vídeo-cassete

15 SE::P & A::Sw::STR:: Conceitos Básicos Criticidade
Deadline Firm Perda do deadline não tem conseqüências catastróficas Não existe valor em terminar a tarefa após o deadline Exemplo: ler o valor da temperatura

16 SE::P & A::Sw::STR:: Conceitos Básicos Modelagem das Tarefas
Deadline – Tempo máximo para término de uma tarefa Release-time – Tempo mínimo para início de uma tarefa Tempo de execução: considera o pior caso WCET – Worst-Case Execution Time

17 Sistemas reativos Dado um estímulo o sistema deve produzir uma resposta dentro do tempo estipulado. Estímulo periódico: ocorre em intervalos de tempo previsíveis Estímulo aperiódico: ocorre em intervalos imprevisíveis Estímulo esporádico: não é periódico mas sabemos o intervalo mínimo entre ocorrências

18 SE::P & A::Sw::STR Escalonamento
Métodos de Escalonamento Abordagens com Garantia em Tempo de Projeto Abordagens com Garantia Dinâmica Abordagens de Melhor Esforço Técnicas Adaptativas Executivo Cíclico Dirigido a Prioridades

19 Escalonamento de Processos Abstração
Uma máquina para cada processo Paralelismo real mP1 T11 T12 mP2 T0 mP3 mP3 T22

20 Escalonamento de Processos Realidade
Compartilhamento do tempo Pseudoparalelismo T12 T22 T0 T11 T0 mP1 1 41 51 70 90 121 t

21 Tipos de Escalonamento Preemptivo
Permite a suspensão temporária de processos Quantum ou time-slice: período de tempo durante o qual um processo usa o processador a cada vez Preempção T12 T22 T0 T11 mP1 T0 1 41 51 70 90 121 t Quantum grande: Diminui núm. de mudanças de contexto e overhead do S.O. Ruim para processos interativos

22 Escalonamento de Processos Processo
Estados de um processo Process Control Block - PCB ID do Processo Criação Pronto Rodando Término Estado Prioridade Program Counter Ponteiros da Memória Contexto (regs.) Bloqueado I/O Status Informações gerais tempo de CPU limites, usuário, etc.

23 Filas de Escalonamento
Short-term scheduling Long- term queue Short- term queue Process request FIM CPU High-level scheduling I/O I/O queue I/O scheduling I/O queue I/O Interrupt of process from I/O Interrupt Handler I/O I/O queue

24 Tipos de Escalonamento Round-Robin
Uso de uma lista de processos sem prioridade Escalonamento preemptivo Simples e justo Bom para sistemas interativos CPU:Running Tar. A Contexto Tar. A Contexto Tar. B Contexto Tar. C Contexto Tar. A Contexto

25 Tipos de Escalonamento First-In First-Out (FIFO)
Uso de uma lista de processos sem prioridade Escalonamento não-preemptivo Simples e justo Bom para sistemas em batch CPU B C D E F … N A FIM

26 Tipos de Escalonamento Exemplo
Três processos Cada um consome 1 hora de CPU Calcule o tempo de resposta considerando a) Round-robin (time-slice = 10ms) b) FIFO

27 Características de Escalonamento
Justiça (fairness) Todos os processos têm chances iguais de uso dos processador Eficiência O objetivo é manter o processador 100% ocupado Tempo de Resposta Tempo entre a requisição da ação e a obtenção do resultado Throughput Número de tarefas por unidade de tempo

28 Não existe garantia que os deadlines serão cumpridos
SE::P & A::Sw::STR::Escalonamento Garantia Dinâmica e de Melhor Esforço Não existe garantia que os deadlines serão cumpridos Sempre que uma tarefa é ativada ocorre uma análise da sua escalonabilidade Passível de sofrer sobrecarga Capaz de fornecer análise probabilística Simulação, teoria das filas de tempo real, etc Algumas abordagens oferecem Garantia Dinâmica Garante o deadline (ou não) no início da ativação

29 Descarte de Tarefas na Sobrecarga
SE::P & A::Sw::STR::Escalonamento Garantia Dinâmica e de Melhor Esforço Descarte de Tarefas na Sobrecarga As tarefas executadas cumprem o deadline Mais apropriado para tarefas com deadline firm Pode cancelar ativações individuais ou tarefas completas Objetivo é maximizar o número de tarefas executadas Tarefas podem ter importância (peso) diferentes Maximiza o somatório dos pesos das tarefas executadas Abordagem semelhante: aumenta o período das tarefas

30 Perda de deadlines na sobrecarga
SE::P & A::Sw::STR::Escalonamento Garantia Dinâmica e de Melhor Esforço Perda de deadlines na sobrecarga Em sobrecarga ATRASA algumas tarefas Possui uma função que indica o valor de cada tarefa em função do seu instante de conclusão (time-value function) Objetivo é maximizar o valor total do sistema (somatório de todas as tarefas) valor Tempo de Resposta d

31 Redução da Precisão na Sobrecarga
SE::P & A::Sw::STR::Escalonamento Garantia Dinâmica e de Melhor Esforço Redução da Precisão na Sobrecarga Em sobrecarga diminui a precisão de algumas tarefas Objetivo é fazer o possível dentro do tempo disponível Exemplos: Ignorar bits menos significativos de cada pixel Trabalhar com amostras de áudio menos precisas Alterar resolução e tamanho de imagem na tela Simplificar animações Usar algoritmos de controle mais simples Interromper pesquisa em algoritmos de inteligência artificial

32 Sistemas de Prioridade Dinâmica
SE::P & A::Sw::STR::Escalonamento Garantia Dinâmica e de Melhor Esforço Sistemas de Prioridade Dinâmica Earliest-Deadline-First (EDF) Escalonamento preemptivo de prioridade dinâmica O deadline é calculado quando a tarefa é disparada. O escalonador põe para executar a tarefa com menor deadline Least Slack Scheduling Escalonamento não-preemptivo de prioridade dinâmica A tarefa com menor sobra (slack) tem maior prioridade

33 Referências Livro de Sistemas de Tempo Real Jean- Marie Farines, Joni da Silva Fraga, Rômulo Silva de Oliveira. Escola de Computação’ IME- USP www. lcmi. ufsc. br/ gtr/ livro/ principal. Htm IEEE Computer Society, Technical Committee on Real- Time Systems (IEEE- CS TC- RTS) www. cs. bu. edu/ pub/ ieee- rts The Concise Handbook Of Real-Time Systems. TimeSys Corporation, Versão 1.1,


Carregar ppt "Introdução aos Sistemas de Tempo Real"

Apresentações semelhantes


Anúncios Google