Sistemas de Tempo Real Jaime Dalla Valle Junior O que é um STR? Resposta adequada a um dado estímulo em tempo útil, isto é, quando ela é necessária (lógica e temporal). A resposta do sistema deve obedecer a severas restrições de tempo (ex.: entre 1s e 2 s). CUMPRIR PRAZO!!!!! Tempo real não significa execução rápida. Características Sistemas computacionais de tempo real – Submetidos a requisitos de natureza temporal – Resultados devem estar corretos lógica e temporalmente – Requisitos definidos pelo ambiente físico Aspectos temporais – NÃO estão limitados a uma questão de maior ou menor desempenho – Estão diretamente associados com a funcionalidade Sistemas em geral: faz o trabalho no tempo necessário Sistemas de tempo real: faz o trabalho usando o tempo disponível Classificação Se o limite de tempo não for cumprido, quais as conseqüências? Tipo de sistemas: – Soft Real Time – Hard Real Time Soft Real Time A falha no cumprimento dos limites de tempo não acarreta em danos e/ou prejuízos significativos, somente uma perda da qualidade do serviço. Ex.: sistemas multimídia (jogos, DVD’s) Hard Real Time O atraso da resposta pode ocasionar uma catástrofe ou prejuízos significativos. Necessário garantir requisitos temporais em projeto Ex.: sistema de controle de tráfico aéreo. Hard Real Time situações de atraso devem ser previstas durante o projeto. deve ser capaz de detectar sozinho os erros que surgem. Falha Segura (Fail Safe) – na ocorrência de erros, transita para um estado que o projetista considera "seguro". Falha Operacional (Fail Operational) – o sistema deve permitir que durante situações de falha ainda consiga operar. Não bastaria usar um processador rápido? Se o computador tiver de executar várias tarefas em simultâneo, a rapidez de processamento não basta. Uma tarefa pode bloquear outra e causar atrasos. O segredo esta no escalonamento das tarefas. Por que é preferível a utilização de uma arquitetura distribuída? Aumenta a confiança no funcionamento do sistema (dependability), mesmo na ocorrência de defeitos. as falha são mascaradas ou o sistema é recuperado (através de uma réplica da tarefa) Nesse sentido, sistemas distribuídos são uma maneira natural de conceber redundância na computação. Mercado Telecomunicações – Estabelecimento de conexões, videoconferência Aeroespacial – Automação em aeronaves, sondas espaciais Defesa – Radar, sonar, sistema guia em mísseis Entretenimento – Vídeo games Referências R. J. A Macêdo, et al. Tratando a previsibilidade em sistemas de tempo-real distribuídos: Especificação. Linguagens, Middleware e Mecanismos Básicos. Capítulo 3 do Livro texto para o mini-curso a ser apresentado no do 22o. Simpósio Brasileiro de Redes de Computadores, SBRC'2004, pp. 105163, ISBN: 85-88442-82-5, 10 a 14 de maio de 2004, Gramado, RS http://www.lcmi.ufsc.br/gtr/livro/principal.htm