Sistemas de Tempo Real Sérgio Cavalcante [email protected] (81) 32718430 Centro de Informática Universidade Federal de Pernambuco Sistema de Tempo Real Sistema embutido no qual o comportamento está sujeito a restrições temporais Tipos de uso Controle • Baixo processamento • Requer pouca memória • Altamente reativo (muito interativo) Processamentos de dados • Processamento digital de sinais • Alto processamento • Pouco interativo 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 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 Modelo de sistema de tempo real Sensor Sensor Sensor Sensor Sensor Sensor Sistema de controle de tempo real Atuador Atuador Atuador Atuador Sistema 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 Considerações de projeto STR são geralmente implementados por tarefas cooperantes com um real-time executive que as controla Precisa de rápida mudança de contexto entre tarefas Demandas temporais de estímulos com caracteríticas diferentes inviabilizam o uso de loops sequenciais Metodologia de projeto Identifique os estímulos Para cada estímulo e resposta, identifique as restrições temporais Agregue um estímulo (ou uma classe de estímulos) e resposta em tarefas concorrentes. Metodologia de projeto Projete algorítmos para cada processo de forma a obedecer as restrições temporais. Analise o método de escalonamento de forma a garantir a resposta dentro dos deadlines Implemente usando um executivo de tempo real Notações Deadline • Release time • tempo mínimo para início da tarefa Tempo de execução • tempo máximo para término da tarefa tempo para executar a tarefa na ausência de confliots por recursos Worst-case execution time (WCET) • pior tempo de execução possível para uma tarefa Tipos de escalonamento Pre-runtime • Tabela de tempos de início e término das tarefas • Tudo definido a priori • Muito seguro • Não trata bem tarefas esporádicas Estático • • • • Prioridades dos processos definidas a priori Ordem de execução definida on-line Pior utilização do processador Bom com tarefas esporádicas Sistemas Executivos de Tempo Real Sistemas operacionais simplificados, eficientes e pequenos Os tempos de resposta das chamadas devem ser limitados e conhecidos O método de escalonamento deve ser determinístico e conhecido do projetista Existem no comércio mas são frequentemente construídos pela equipe Componentes de um Executivo Relógio de tempo real Interrupt handler Escalonador Gerenciador de recursos Dispatcher Exemplo: Sistema de Segurança Sensores de intrusos .. . Pânico Teclado(s) Visor(es) de cristal Modem Em. Médica Incêndio Sirene Carga da Bateria Rádio Voltagem da rede Exemplo: Sistema de Segurança Bateria deve durar 4 dias Não deve perder status mesmo quando a bateria acabar Deve manter um log por pelo menos 180 dias Deve ter zonas temporizadas Tem que ser multi-tarefa Tolerância a Falhas Tolerância a falhas Sistemas computacionais em toda parte Aumento da dependência dos usuários Sistemas devem continuar operando mesmo na ocorrência de falhas Tolerância a falhas Inserção de Redundância Hardware Software Informação Tempo Tolerância a falhas Terminologia Falha, erro e defeito Modelo dos Três Universos Universo do Usuário Universo da Informação Defeito Erro Universo Falha Físico Tolerância a falhas Técnicas NMR (N-modular redundancy) Módulo 1 Entrada Saída Eleita Módulo 2 ... Módulo n Voter Tolerância a falhas Técnicas Mid-Value Select valor tempo saída selecionada Tolerância a falhas Técnicas Flux-Summing Módulo 1 Entrada Módulo 2 ... Módulo n + Saída Tolerância a falhas Técnicas Código de Hamming • Detecção e correção de erros Dados Codificador Código Código Original Comparador Dados Codificador Código Gerado Erro