Instituto Federal de Pernambuco Coordenação de Informática/IFPE

Documentos relacionados
Sistemas de Tempo Real e Tolerante a Falhas

Modelos de Programação de Tempo Real

Caracterização. Sistemas de Tempo Real: Caracterização. Caracterização. Caracterização. Concepções Erradas. Mercados

Sistemas de Tempo Real

Conceitos Básicos dos Sistemas de Tempo Real

Sistemas Operacionais de Tempo Real. Prof. Andre Luis Meneses Silva

Sistemas Embarcados (embutidos) Paulo C. Masiero

PSI3441 Arquitetura de Sistemas Embarcados

Técnico de Gestão e Programação de Sistemas Informáticos. Sistemas Operativos 10º ano

SEM0544 Desenvolvimento de Produtos Mecatrônicos

Modelagem de Sistemas de Tempo Real. Sérgio Campos

SEM0544 Desenvolvimento de Produtos Mecatrônicos

Arquiteturas RISC e CISC. Adão de Melo Neto

Introdução aos Sistemas de Tempo Real

Introdução à Computação

COMPUTADORES COM UM CONJUNTO REDUZIDO DE INSTRUÇÕES. Adão de Melo Neto

Sistemas Embutidos (embarcados) Paulo C. Masiero

Aula 1: Introdução aos Sistemas Operacionais. Instituto Federal da Bahia INF009 - Sistemas Operacionais Profª Flávia Maristela

AULA 03: FUNCIONAMENTO DE UM COMPUTADOR

Sistemas de Tempo Real

Introdução à Ciência da Computação

Introdução à Programação Aula 01. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

Aula 10. Engenharia de Sistemas Embarcados. Prof. Abel Guilhermino Tópico: Sistemas de Tempo Real

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini /

SISTEMAS OPERACIONAIS

Implementação da Especificação de Tempo Real Java para o EPOS

Arquitetura de Sistemas Operacionais Francis Berenger Machado / Luiz Paulo Maia (Material Adaptado)

Aula 06 - Máquina Multinível e Von Neumann

Sistemas Operacionais Processos. Carlos Ferraz Jorge Cavalcanti Fonsêca

Sistemas de Tempo-Real

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Abordagens de Escalonamento na Perspectiva da Engenharia

Sistemas Operacionais Aula 3

Apresentação. Informação geral + Conceitos iniciais

CP Introdução à Informática Prof. Msc. Carlos de Salles

Parte I Multiprocessamento

Sistemas Embarcados. Prof. Dr. Fábio Rodrigues de la Rocha. (Apresentação) 1 / 45

Executivo Cíclico. Executivo Cíclico Introdução. Sistemas de Tempo Real: Executivo Cíclico Exemplo. Executivo Cíclico Introdução

SSC510 Arquitetura de Computadores 1ª AULA

Neste capítulo será descrito detalhadamente o desenvolvimento do software do sistema FEROS, justificando a escolha das tecnologias envolvidas.

Algoritmos e Lógica de Programação Sistemas Operacionais

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 02: INTRODUÇÃO

Conceitos básicos de Tempo Real

Introdução à Computação: Máquinas Multiníveis

Existem três categorias principais de linguagem de programação: linguagem de máquina, linguagens assembly e linguagens de alto nível.

Sistemas de Tempo Real

Conceitos básicos sobre computadores (continuação)

ENGENHARIA DE SISTEMAS MICROPROCESSADOS

Introdução (Aula 2) Introdução Arquitetura de Hardware. Organização Estruturada de Computadores. Introdução Conceitos (2) Introdução Conceitos (1)

Introdução a Sistemas Operacionais. Adão de Melo Neto

Arquitetura e Organização de Processadores. Aula 08. Arquiteturas VLIW

15/03/2018. Professor Ariel da Silva Dias Introdução a Engenharia de Software. O mundo moderno poderia existir sem software?

Introdução aos Sistemas Operacionais

Diferentes Abordagens para Sistemas de Tempo Real

Engenharia de Software Aula 2.1 Introdução à Engenharia de Requisitos. Prof. Bruno Moreno

Introdução. (Aula 2) Organização Estruturada de Computadores

FTC Faculdade de Tecnologia e Ciências Engenharia Civil 1º Semestre. Conceitos Básicos. Rafael Barbosa Neiva

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 02

SISTEMAS EMBARCADOS. Apresentação da disciplina e dos critérios de avaliação. Prof. André Schneider de Oliveira

Engenharia de Software Aula 2.1 Introdução à Engenharia de Requisitos. Prof. Bruno Moreno

Programação Estruturada

Algoritmos Computacionais

Caracterização. Sistemas de Tempo Real: Definição 1/2. Definição 2/2. Exemplos de Aplicações: Aviônica 1/1. Exemplos de Aplicações: Defesa 1/3

Aula 2: Tipos de Sistemas Operacionais. Instituto Federal da Bahia Campus Salvador INF009 - Sistemas Operacionais Profª Flávia Maristela

Análise e Projeto de Sistemas I. Curso de Sistemas de Informação. Karla Donato Fook DESU / DComp.

Apresentação. Sistemas Operacionais. Universidade Federal de Uberlândia Faculdade de Computação Prof. Dr. rer. nat. Daniel D.

Estilos Arquiteturais

Programação Concorrente

Sistemas Operacionais. Estrutura do Sistema Operacional: Modos de Acesso

Arquitetura e Organização de computadores

Internet das Coisas Será que isso existe?

Fundamentos da Informática Aula 03 - Sistemas operacionais: Software em segundo plano Exercícios Professor: Danilo Giacobo

PCS3225. Sistemas Digitais II. Biestáveis em VHDL. Biestáveis em VHDL. Marcos A. Simplicio Jr.

INTRODUÇÃO A SISTEMAS OPERACIONAIS

Prof. Sandro Wambier

II.1 Conceitos Fundamentais. Uma delas é programar o =>

Prof. Eliezer Soares Flores 1 / 22

Escalonamento (Tarefas Esporádicas)

Projeto Lógico de Computadores. Profa. MSc. Carolina Melo Santana

Sistemas Operacionais

Arquitetura de Computadores

Processo. Gerência de Processos. Um programa em execução. Centro de Informática/UFPE :: Infraestrutura de Software

Abordagens de Escalonamento

MC-102 Aula 01. Instituto de Computação Unicamp

Sâmia Rodrigues Gorayeb. Arquitetura de Computadores Linguagem de Máquina

Infraestrutura de Hardware. Desempenho

Processo. Gerência de Processos. Um programa em execução. Centro de Informática/UFPE :: Infraestrutura de Software

Introdução ao LabVIEW para Robótica

Universidade Federal de Minas Gerais. Sistemas Operacionais. Aula 19. Sistema de Entrada/Saída

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini /

Conceitos Básicos. Fundação Centro de Análise, Pesquisa e Inovação Tecnológica Instituto de Ensino Superior - FUCAPI. Disciplina: Banco de Dados

Informática I. Aula 9. Aula 9-17/05/2006 1

Algoritmos de Escalonamento II

Montador (assembler)

20/08/2013. Software e Hardware. Prof. Rogério Ferreira. Software

Algoritmos e Programação

Linguagens de Programação. Introdução. Carlos Bazilio

Variância dos Tempos de Resposta

Concorrência em Processos

Transcrição:

- Sistemas de Tempo Real Instituto Federal de Pernambuco Coordenação de Informática/IFPE Anderson L. S. Moreira anderson.moreira@recife.ifpe.edu.br 1

Direitos de Licença Attribution ShareAlike 3.0 Você é livre para Copiar, distribuir, mostrar, e adaptar o trabalho Para fazer trabalhos derivados Para fazer uso comercial do trabalho Seguindo certas condições Atribuição. Você deve dar os devidos créditos ao autor original. Compartilhar. Se você altera, transformar ou construir em cima deste trabalho, você deverá distribuir o trabalho resultante somente sobre uma licença idêntica a está. Para qualquer reuso ou distribuição, você deve deixar claro aos outros os termos de licença deste trabalho. Qualquer destas condições podem ser modificadas se você tiver permissão do autor original. Se uso e outros direitos não são afetados pelas regras acima. License text: http://creativecommons.org/licenses/by-sa/3.0/legalcode 2

Agenda Introdução Sistemas Sistemas de Tempo Real Eventos, determinismo e utilização de CPU Questões de projeto em STR Equívocos Comuns Histórico 3

Introdução Sistemas de Tempo Real (STR) Presente em elementos de diferentes domínios Militar, espacial, doméstico, bancário, etc. 4

Introdução Um sistema embarcado é similar a qualquer sistema computacional que não seja um desktop (VAHID-UCR) 5

Introdução Um sistema embarcado pode ser: Hardware 6

Introdução Um sistema embarcado pode ser: Hardware Software + Hardware 7

Introdução Algumas situações: Determinar a correta posição de uma aeronave em um dado instante. ReservasdeumvôodeRecifeparaBrasília. Falha de temperatura em uma usina nuclear. LigaraTV. 8

Introdução Sistemas Computacionais Propósito Geral Processadores programáveis Propósito Específico (Hardware) Executam um único programa Domínio Específico Otimizado para uma classe de aplicações. Exemplo: DSP (Digital Signal Processors) 9

Introdução 10

Introdução O Hardware de computadores de propósito geral resolve problemas pela execução repetitiva de macroinstruções, conhecidas, coletivamentecomosoftware. Software Programas de Sistema Softwares que faz interface com o hardware, tais como escalonadores, drivers e programas que atuam como ferramenta para o desenvolvimento de aplicações (compiladores, assemblers, linkers). 11

Introdução Sistema Operacional Uma coleção especializada de programas de sistema que gerenciam os recursos físicos do computador. Aplicativos Programas escritos para resolver um problema específico Exemplo: folha de pagamento, estoque e navegação. 12

Sistema Sistema Um sistema é um mapeamento de um conjunto de entradas para um conjunto de saídas. 13

Sistema Jobs(tarefas) Schedule(escalonar) 14

Sistema Tempo de resposta Tempo entre o estímulo e a resposta do sistema computacional. 15 t

Sistemas de Tempo Real Sistemasdetemporeal Um sistema que deve satisfazer restrições explícitas de tempo de resposta. O não cumprimento das mesmas envolve severas conseqüências, incluindo falha. Um sistema cujo comportamento correto é baseado tanto no fornecimento de resultados corretos, bem como no tempo que estes resultados são fornecidos. Sistema Falho Um sistema que não pode satisfazer um ou mais dos requisitos estipulados em sua especificação. 16

Sistemas de Tempo Real Emgeralsão: Reativos São sistemas cujo escalonamento é dirigido pela interação com seu ambiente. Exemplo: Sistema para controle de incêndios que reage ao pressionar de um botão. Embarcados Fazem partes de sistemas maiores não computacionais. Exemplo: Controle de injeção de combustível, airbag, freios, etc. 17

Sistemas de Tempo Real - Exemplo Tanque de armazenamento de combustível controlado por sensor. 18

Sistemas de Tempo Real Classificação: Sistemas de tempo real são classificados de acordo com o impacto gerado por uma falha ao atender seus requisitos de tempo. Aotodoexistemtrêstipos: Soft,FirmeHard. 19

Sistemas de Tempo Real Soft real time Sistema em que o desempenho é degradado mas não resulta em falhas, no caso de não atendimento de suas restrições de tempo. Exemplos: Um editor de texto, sistema de folha de pagamento, sistema de processamento de matrículas. 20

Sistemas de Tempo Real Hardrealtime Sistemaemqueumafalharelacionadaaumúnico deadline pode provocar falhas completas do sistema ou até mesmo catástrofes. Sistema para controle de freios, Airbag, etc. 21

Sistemas de Tempo Real FirmRealTime Sistema em que a perda de poucos deadlines não provocam falha total, no entanto, a perda de uma quantidade muito grande podem provocar falhas completa do sistema ou até mesmo catástrofes. Sistema de controle de navegação 22

Sistemas de Tempo Real Sistema Máquinas de autoatendimento Sistema de navegação embutida para controle de robôs autônomos agrícolas. Sistema de controle de armas em caças. Soft Firm Hard Tipode Sistema Cenário Perda de muitos deadlines não provocarão falhas catastróficas, somente o desempenho é degradado Excessiva perda de deadlines podem fazer que o robô danifique toda uma plantação Perda de um único deadline pode fazercomqueoalvosejaperdido. 23

Alguns Conceitos Antes de aprofundarmos na teoria de tempo real devemos revisar/citar alguns conceitos, são eles: Eventos Determinismo Utilização de CPU 24

Eventos Qualquer acontecimento que provoque uma mudançanofluxodecontrole. Exemplos: Instanciação de um objeto, if-then, goto, case, chamada de métodos, interrupção, etc. 25

Eventos - Tipos EventosSíncronos Eventos que podem ser previstos no fluxo de controle. Traps, desvios condicionais. EventosAssíncronos Acontecem em pontos imprevisíveis do fluxo de controle e são geralmente causados por fontes externas. Interrupção gerada pelo clock, etc. 26

Eventos - Tipos Eventos Periódicos Eventos que ocorrem em intervalos regulares. Um clockque pulsa regularmente a cada 5 segundos. Eventos Aperiódicos Eventos que não ocorrem em intervalos regulares. Eventos Esporádicos Eventos aperiódicos que ocorrem raramente. 27

Eventos - Tipos Periódico Aperiódico Esporádico Síncrono Código Cíclico Instruções condicionais ou incondicionais Processo escalonado por um clock interno. Assíncrono Interrupção gerada por clock Coletor de Lixo Interrupção regular, porém sem período fixado Exceções internas Traps Exceção gerada externamente. Eventos randômicos 28

Determinismo Em todo sistema, manter o controle é extremamente importante Osoftwaredeveestaraptoaantecipareevitaros estados inconsistentes. Sistemas controlados por software devem trazer e executar instruções da área de memória destinada aos programas. O sistema deve antecipar como o sistema se comportará em todas as circunstâncias possíveis. 29

Determinismo SistemaDeterminístico Um sistema é determinístico se, para cada possível estado e cada conjunto de entradas, um único conjunto de saídas e o próximo estado do sistema podem ser determinados. Seumsistemaédeterminístico,todososeventosqueo compõem são determinísticos. Se um sistema determinístico, possui tempo de resposta conhecido para cada conjunto de respostas conhecidos, o sistema também possui determinismo temporal. 30

Utilização de CPU (U) Medida do percentual de processamentonão ocioso. Ver aula 4 de Evolução do PC 31

Utilização de CPU (U) 32

Utilização de CPU (U) Fórmula para Cálculo 33

Questões de Projeto em STR 34

Questões de Projeto em STR O projeto e implementação de STR requer atençãoparanumerososproblemas: Seleção de hw e sw, e avaliação do trade-off necessário para uma solução barata e eficaz. Cuidadosa especificação e projeto de STR, levando em consideração aspectos temporais. Entendimento das características das linguagens de programação. 35

Questões de Projeto em STR Tolerânciaafalhasesegurança. Projeto e administração de teste, seleção de testeeequipamentodedesenvolvimento. Usodetecnologiasabertas. Medirepredizertempoderesposta. 36

Questões de Projeto em STR Hard Real Time vssoft Real Time Característica Hard-real time Soft real time Tempo de resposta Requisito alto Requisito desejável Desempenho sob alta carga Previsível Não previsto Controle Ambiente Computacional Segurança Geralmente Crítica Não Crítica Tamanho dos dados Pequeno/médio Grande Tipo de redundância Ativa Baseada em checkpoint Integridade dos dados Curta Longa Detecção de erros Autônoma Assistida pelo usuário 37

Questões de Projeto em STR Falha-segurovsFalha-Operacional Em sistemas do tipo falha-seguro, o STR ao falhar entra em um estado seguro. Sistema de controle de trens. Em sistemas do tipo falha-operacional, o STR ao falhar deve prover um conjunto mínimo de serviços e continuar operacional. Sistema de controle de um avião 38

Questões de Projeto em STR GarantiadeRespostavsMelhorEsforço Em garantia de resposta, o sistema é projetado para sempre cumprir seus deadlines. Em melhor esforço, o sistema faz o melhor possível. 39

Questões de Projeto em STR Sensívelaeventosesensívelatempo UmdostemasmaispolêmicosemSTR Como o nome sugere, sistemas sensíveis a eventos reagem a eventos lançados pelo sistema (ou ambiente) Sistemas sensíveis a tempo reagem em intervalos de tempo pré-definido, respectivamente. Todo sistema sensível a evento pode ser modelado como um sistema sensível a eventos e vice-versa? 40

Equívocos Comuns Sistemas de Tempo Real são sinônimos de SistemasRápidos. Análise de taxa monotônica tem resolvido todososproblemasdetemporeal. Há uma teoria universal, largamente aceita metodologia para especificação e projeto de sistemasdetemporeal. 41

Equívocos Comuns Não existe necessidade por construção de novossistemasoperacionaisdetemporeal. O estudo de sistemas de tempo real se resumeateoriadoescalonamento. 42

Histórico 43

Histórico 44

Histórico - Linguagens Primeirosprogramas Escritos diretamente em microcódigo, linguagem assembly e mais tarde em linguagens de alto nível. Primeiraslinguagensdealtonível Fortran, CMS e JOVIAL (linguagens preferidas do exército, marinha e força aérea americana, respectivamente). 45

Histórico-Linguagens Em1983surgeADA Encomendada pelo Departamento de Defesa Americano com o intuito de: Utilizar uma única linguagem para desenvolvimento de STR. Possuir construções de alto-nível Prover características que facilitassem a programação de STR. Em1995,lançamADA95 46

Histórico-Linguagens Atualmente, ADA não é uma linguagem muito aplicadaemstr. No entanto, algumas empresas automobilísticas (em especial, as alemãs), bem como o departamento de defesa americano e francês continuam fazendo uso dela. Grande parte dos sistemas atuais são desenvolvidosemc,c++,assembly,fortran. Javavemganhandoforçanosúltimosanos.:S 47

Atividades Para o banco de conhecimentos: Criar um git, setarpara /alsmoreira Recomendo GitHub ou Bitbucket Pesquisar sobre o seguinte tema: Java e Sistemas de Tempo Real: Vale a pena utilizar? 48

Referências Farines Capítulo 1 Laplace Capítulo 1 Kopetz Capítulo 1 49

Dúvidas? 50

Sistemas de Tempo Real Instituto Federal de Pernambuco Coordenação de Informática/IFPE Anderson L. S. Moreira anderson.moreira@recife.ifpe.edu.br 51