Sistemas de Tempo Real

Documentos relacionados
Aula 2 Modelos computacionais

Componente de Formação Técnica. Disciplina de

QUALIDADE DE SOFTWARE

Aula 1 Restrições temporais: origem e caracterização

Aula 5 Escalonamento usando prioridades fixas

Xenomai Short Intro. Paulo Pedreiras DETI/University of Aveiro. Sistemas Tempo-Real Out/2013 (Rev. 1 - Out/2015)

Sistemas de Tempo Real: Conceitos Básicos

Avaliação de Desempenho

Breve introdução ao Real Time Application Interface (RTAI)

Avaliando o Uso de Servidores para Tarefas Aperiódicas para fins de Tolerância a Falhas em Sistemas com Escalonamento

Características dos Dados

Gestão de Projectos de Software - 1

A Reestruturação da Licenciatura em Engenharia Informática de Junho de 2013

Introdução à Computação: Sistemas de Computação

8 Threads. 8.1 Introdução

Avaliação de Desempenho de Sistemas

Software do tipo simulador e os conteúdos de química

FTL066 Programação em Tempo Real Segunda Lista de Exercícios

Servidores de Aperiódicas

CPA Comissão Própria de Avaliação

CONCEITOS BÁSICOS DE UM SISTEMA OPERATIVO

Eduardo Bezerra. Editora Campus/Elsevier

Sistemas Operacionais de Tempo-Real. Out/2007 Aleksey Victor Trevelin Covacevice 1

REGULAMENTO DE UTILIZAÇÃO DOS INICIATIVA ESCOLAS, PROFESSORES E COMPUTADORES PORTÁTEIS EQUIPAMENTOS DO PROJECTO. Ano Lectivo 2006 / 07

ASSUNTO DA APOSTILA: SISTEMAS DE INFORMAÇÃO E AS DECISÕES GERENCIAIS NA ERA DA INTERNET

Universidade de Cruz Alta UNICRUZ Centro de Ciências Agrárias, Exatas e da Terra Curso de Ciência da Computação PLANO DE ENSINO

Game Programming Basic

Sistemas de Tempo-Real

2 Fundamentação Conceitual

EDITAL PARA CONTEUDISTA FEAD

DDoS: como funciona um ataque distribuído por negação de serviço

Tecnologia da Informação. Prof Odilon Zappe Jr

Testes de Software Aula 1

Capítulo II Modelos de Programação Distribuída

Tema I: Teoria Matemática das Eleições Nº de Aulas Previstas (90 m): 18

Nível do Sistema Operacional

Sistemas de Tempo-Real

Projeto Inovaeduc Perguntas Frequentes

Data 23/01/2008. Guia do Professor. Introdução

Mestrado Profissional em Ensino de Biologia em Rede Nacional - PROFBIO PROPOSTA

Plano Temático. 1. Introdução

Arquitectura de Sistemas Paralelos e Distribuídos

História e Sistemas da Psicologia

Introdução à Informática

Capítulo 4 Gerência do Processador. O que sabemos é uma gota, o que ignoramos é um oceano. Isaac Newton

UNIVERSIDADE PRESBITERIANA MACKENZIE

ASTRONOMIA, SOMBRAS E OUTROS CONHECIMENTOS CIENTÍFICOS NO ENSINO MÉDIO

:: aula 3. :: O Cliente: suas necessidades e problemáticas. :: Habilidades a ser desenvolvidas

Ficha da Unidade Curricular (UC)

Este artigo abaixo foi produzido originalmente para a Network Core Wiki. Reproduzo-a aqui na íntegra. Publicado originalmente em 07/12/2007.

FÁBIO JOSÉ DE ARAUJO. Projeto Ensinando Educação Física com Jogos

Cartões de gamificação. Para saber mais: livrogamification.com.br GAMIFICATION, INC. Como reinventar empresas a partir de jogos

JSensor: Uma plataforma paralela e distribuída para simulações de redes de sensores

Ficha de Unidade Curricular (FUC) de Sistemas de Informação I

Regulamento do Mestrado Profissional em Administração Pública em Rede Nacional

DEFICIÊNCIA INTELECTUAL OU ATRASO COGNITIVO?

FACCAMP - FACULDADE CAMPO LIMPO PAULISTA COMUNICAÇÃO E REDES SOCIAIS

Sistemas Operacionais. Prof. André Y. Kusumoto

Arquitetura de computadores

UNIVERSIDADE ESTADUAL DA PARAÍBA CENTRO DE CIÊNCIAS E TECNOLOGIA DEPARTAMENTO DE QUÍMICA CURSO DE LICENCIATURA EM QUÍMICA LINDOMÁRIO LIMA ROCHA

Introdução ao Paradigma Orientado a Objetos. Principais conceitos

Brincando com as Letras: Um serious game para o ensino do Alfabeto

PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA. Plano de Ensino

FAZEMOS MONOGRAFIA PARA TODO BRASIL, QUALQUER TEMA! ENTRE EM CONTATO CONOSCO!

INSTITUTO DE ENSINO SUPERIOR CENECISTA - INESC - CAMPANHA NACIONAL DE ESCOLAS DA COMUNIDADE - CNEC -

COM O BROFFICE IMPRESS

Evolução da cooperação em populações modeladas por autômatos celulares com o uso de teoria de jogos

Gerenciamento do ciclo de vida de um documento Simone de Abreu

Instituto Tecnológico de Aeronáutica. Divisão de Engenharia de Infra-Estrutura Aeronáutica

Planificação de. Aplicações Informáticas B

REGIMENTO INTERNO DO NÚCLEO DE TECNOLOGIA DA INFORMAÇÃO TÍTULO I DISPOSIÇÕES PRELIMINARES

Barreiras. Lição 1.5. A palavra mais importante para transformar situações de risco potencial em IMPROVÁVEL.

Sistemas Distribuídos

Engenharia da Computação. Tópicos Avançados em Engenharia de Software. Aula 1

Ferramentas Web, Web 2.0 e Software Livre em EVT

Programação Concorrente Introdução

Transcrição:

Sistemas de Tempo Real Docente Paulo Pedreiras pbrp@ua.pt http://ppedreiras.av.it.pt/ Adaptado dos slides desenvolvidos pelo Prof. Doutor Luís Almeida para a disciplina Sistemas de Tempo-Real DETI/UA ; STR 13/14 1

Noções preliminares Afinal o que são Sistemas de Tempo Real??! Sistemas computacionais Estão sujeitos a um tempo real tempo que progride continuamente e durante o qual o mundo prossegue ao seu ritmo próprio Aqueles em que não se pode dizer Ó tempo, volta p ra trás... Ou por outras palavras, aqueles em que O que está feito, feito está! E há consequências... Por isso, a única forma de funcionarem corretamente É fazendo certo no instante certo! DETI/UA ; STR 13/14 2

Objetivo da disciplina Tema principal: Infraestruturas de software e técnicas de programação para sistemas que interagem com (ou simulam) um processo físico (ambiente) para que façam certo no instante certo Pretende-se abordar: Técnicas de programação a origem e caracterização das restrições impostas pelo ambiente ao comportamento temporal do sistema computacional; a forma como o sistema computacional mantém o conhecimento do estado do ambiente que o rodeia; Aplicação Infraestruturas de SW a teoria de escalonamento de atividades concorrentes associadas a processos de tempo-real; e a constituição e construção de sistemas operativos / executivos de tempo-real. DETI/UA ; STR 13/14 3 HW Processo físico (ambiente)

FAQ Não bastaria usar um processador rápido? ; Se for para executar um programa com estrutura trivial (tipo um único ciclo infinito), é provável que sim. Se o computador tiver de executar várias tarefas em simultâneo, a rapidez de processamento já não basta. Umas tarefas podem bloquear outras e causar atrasos demasiado grandes ou mesmo imprevisíveis. Então o que é necessário? Escalonamento! que é como quem diz, ordenação correta das tarefas a executar. Existem critérios de ordenação que nos permitem restringir e determinar os atrasos máximos que as tarefas poderão sofrer. DETI/UA ; STR 13/14 4

FAQ Mas isso então só se aplica quando é necessário multitasking...? Conforme foi dito atrás, estamos a considerar situações em que um computador tem de executar várias tarefas simultaneamente. Será normal que nessas situações se utilize um sistema operativo (ou apenas um kernel) multi-tasking. Mas, muitas vezes, mesmo quando o corpo principal do programa é um simples ciclo infinito, existem várias tarefas encapotadas dentro de rotinas de interrupção assíncronas, o que leva à mesma situação. O disparo de rotinas de interrupção também pode ser atrasado, ou até descartado. É necessário usar técnicas adequadas para restringir e determinar esses atrasos. DETI/UA ; STR 13/14 5

FAQ E esses atrasos são assim relevantes? Bom, se estivermos a falar de sistemas de controlo, e se os atrasos forem tais que levam à perda de amostras, é provável que se perca o controlo! Se isso acontecer num avião... ou num carro com atuação eletrónica (X-by-wire)... ou num robô que se movimenta perto de outros equipamentos e pessoas... ou num foguetão... haverá danos graves! Por outro lado, se estivermos a falar de sistemas multimédia, desde consolas de jogos a DVDs, ou de routers em redes de computadores, atrasos nas tarefas não provocarão a morte a ninguém mas haverá uma perda de Qualidade-de-Serviço. DETI/UA ; STR 13/14 6

Bibliografia Preferencial G. Buttazzo (1997). Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications. Kluwer Academic Publishers. H. Kopetz (1997). Design Principles for Distributed Embedded Applications, Kluwer Academic Publishers. Complementar (disponível na biblioteca da UA) P. Veríssimo and L. Rodrigues (2001). Distributed System for Systems Architects. Kluwer Academic Publishers. Jane W.S. Liu (2000). Real-Time Systems. Prentice Hall. Briand, L. and Roy, D.M. (1999). Meeting Deadlines in Hard Real- Time Systems: the Rate-Monotonic Approach. IEEE Computer Society Press, Los Alamitos (CA), USA. (cont) DETI/UA ; STR 13/14 7

Bibliografia Complementar (cont.) Stankovic, J. et al. (1998). Deadline Scheduling for Real-Time Systems: EDF and Related Algorithms. Kluwer Academic Publishers. Krishna, C.M. and K. Shin (1997). Real-Time Systems. McGraw-Hill. N. Nissanke (1997), Real-Time Systems, Prentice-Hall. Laplante, P.A., Real-Time Systems Design and Analysis - An Engineer s Handbook (2nd ed.). IEEE Press, 1997. Welling, A. and A. Burns (1996). Real-Time Systems and Their Programming Languages (2nd ed.). Int. Computer Science Series, Addison-Wesley. Klein, M. et al. (1993), A Practitioner s Handbook for Real-Time Analysis: Guide to Rate-Monotonic Analysis for Real-Time Systems. Kluwer Academic Publishers. DETI/UA ; STR 13/14 8

Organização das aulas Componente teórica - apresentação e discussão dos conceitos e técnicas É recomendável a leitura de partes específicas dos livros aconselhados Os slides serão disponibilizados no site da disciplina Apresentações e discussão de trabalhos de pesquisa Componente práticas - aplicação das técnicas abordadas em casos concretos Trabalho individual ou em grupos de dois elementos Aulas tutoriais para estabelecer uma base experimental comum ( Linux (GPOS), SHaRK e/ou RTAI, FreeRTOS,..) Um mini-projeto por grupo: Propostas a divulgar em breve; sugestões são bem-vindas DETI/UA ; STR 13/14 9

Regras de Avaliação Época normal Teórica - 50%: 40% teste escrito e 10% trabalho de pesquisa (5% pelo docente e 5% pelos pares) Prática 50%: 25% mini-projeto, 5% livro de registo, 10% apresentação + 10% para trabalho complementar aos tutoriais Época de recurso: Teórica 50% teste único, conta o melhor em relação à época normal Prática 50% nota correspondente da época normal ou teste prático DETI/UA ; STR 13/14 10

Programa e planificação das aulas Sistemas Tempo-Real Ano letivo 2013/2014 Planificação das aulas 16 de setembro Aula 0+1: apresentação da disciplina + conceitos básicos e requisitos de sistemas tempo-real 23 de setembro Aula 2: modelos computacionais + Palestra Mohammad Asheji 30 de setembro Aula 3: kernels + tutorial GPOS 7 outubro Aula 4: escalonamento (conceitos básicos) + tutorial Xenomai 14 outubro Aula 5: escalonamento periódico FP + tutorial Xenomai 21 outubro Aula 6: escalonamento periódico EDF + tutorial Xenomai (conclusão) DETI/UA ; STR 13/14 11

Programa e planificação das aulas Planificação das aulas (continuação) 28 outubro Aula 7: recursos partilhados + tutorial FreeRTOS 4 novembro Aula 8: escalonamento de tarefas aperiódicas + tutorial FreeRTOS (conclusão) 11 novembro Aula 9: outros aspetos de escalonamento TR + mini-projetos 18 novembro Aula 10: otimização + mini-projetos 25 novembro Aula 11: Mini-projetos 2 dezembro Aula 12: Mini-projetos 9 dezembro Aula 13: Apresentação dos mini-projetos + considerações finais DETI/UA ; STR 13/14 12

E agora... É tempo de iniciar o trabalho! DETI/UA ; STR 13/14 13