Universidade Federal de Pernambuco Sistemas de Tempo Real Sérgio Cavalcante svc@cin.ufpe.br (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 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, 1996. 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
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
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 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
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 de execução tempo máximo para término da tarefa Release time tempo mínimo para início da tarefa Tempo de execução 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 Teclado(s) . Visor(es) de cristal Modem Pânico Em. Médica Incêndio Sirene Most security systems now include some form of computer control. These systems do not usually have very stringent timing requirements as people don’t break into buildings very quickly. In this case, assume that the security system is intended for commercial buildings where there are many lighted areas. The security system is connected to the lighting system (the lighting system is therefore part of the security system’s environment) and asks the lighting system to turn on lights around a detected problem These systems must always be designed with an independent power supply so that they can operate when intruders cut off power to the system. 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 Físico Universo da Informação Universo do Usuário Falha Erro Defeito
Tolerância a falhas Técnicas NMR (N-modular redundancy) Módulo 1 Módulo 2 Módulo n ... Voter Saída Eleita Entrada
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 Módulo 2 Módulo n ... + Saída Entrada
Tolerância a falhas Técnicas Código de Hamming Detecção e correção de erros Codificador Comparador Dados Código Código Original Código Gerado Erro