INTRODUÇÃO A SISTEMAS DE TEMPO REAL PARA MICROCONTROLADORES IFBA - Raimundo Jorge Abreu- 2009.

Slides:



Advertisements
Apresentações semelhantes
Algoritmos de Escalonamento
Advertisements

Jaime Dalla Valle Junior
Sistemas de Tempo Real: Abordagens de Escalonamento
Algoritmos para Escalonamento de Tempo Real – (RM, EDF, DM)
Conceitos em Sistemas de Tempo Real (Real Time Systems)
Escalonamento de Processos EDF Algorithm
Real-Time Specification for Java Descrição da Real-Time Specification for Java Alessandra Vargas Fernando Ataíde Marcio Oliveira Universidade Federal do.
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Sistemas em Tempo Real Jadsonlee da Silva Sá
Prof. André Luis Meneses Silva
Sistemas Embarcados de Tempo Real Grupo de Engenharia da Computação Sérgio Cavalcante.
Universidade Federal de Pernambuco
Prof. Dr. Norian Marranghello Grupo 10 Hugo Brandão Uchôa Renato Moreno Peixoto de Mello Acessos não uniforme à memória.
GERÊNCIA DE REQUISITOS Engenharia de Requisitos Departamento de Informática Pontifícia universidade Católica do Rio de Janeiro (PUC-Rio) Joanna.
Definição de Comportamento no Behaviorismo Radical  Compromissos filosóficos, dinâmica do comportamento, eventos- estados-processos: relação organismo.
Princípios de Marketing, 12/E
Módulo 6 Gestão e Controle dos Estoques. Conteúdo Programático MÓDULO 6: Gestão e Controle dos Estoques 6.1 Conceitos e Importância dos Estoques 6.2 Objetivos.
Introdução ao Java Prof. Gustavo Wagner (modificações) Slides originais: Prof. Tiago Massoni Java Básico FATEC-PB  Centro de Informática, UFPE.
Professor: Gerson Leiria Nunes.  Tempo contínuo vs. Discreto  Sinal Determinístico vs. Aleatório  Conceito de frequência  Amostragem.
Introdução POO Thiago Medeiros Sistemas de Informação Definição: Sistemas de Informação é uma combinação de pessoas, dados, processos, redes de.
Introdução à Fenômenos de Transporte Curso Superior Tecnólogo em Mecatrônica Industrial – Módulo IV Prof. Dr. Evandro Rodrigo Dário IFSC – Campus Joinville.
SECRETARIA DE ESTADO DA EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DIRETORIA DE DESENVOLVIMENTO HUMANO GERÊNCIA DE TECNOLOGIA DE INFORMAÇÕES EDUCACIONAIS E ADMINISTRATIVAS.
Férias dos Servidores da UNIRIO. Marcação A marcação deve ser feita no SIE e no Mapa Anual de Férias. Os Mapas de Férias devem ser devolvidos ao Cadastro.
RHAYANE BORGES SILVA 4º ANO ADMINISTRAÇÃO Mensuração e Escala Parte II.
Cálculo Numérico Computacional Prof. Linder Cândido da Silva.
MATHEUS F. STIGGER QNX NEUTRINO. HISTÓRICO Primeira versão do QNX foi lançada em 1982 para Intel 8088 pela Quantum Software Systems. Nos primeiros anos.
INE5408 Estruturas de Dados Passagem por Referência.
Estatística: Aplicação ao Sensoriamento Remoto SER ANO 2016 Distribuições de Probabilidade (Extra) Camilo Daleles Rennó
Práticas Colaborativa de Programação Peterson Rodrigues Outubro de 2015.
Métodos de ressuprimento Estoques de Segurança
Aula 7 Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI.
EAL ESTATÍSTICA, PLANEJAMENTO E OTIMIZAÇÃO DE EXPERIMENTOS.
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais IESP - FATEC-PB Prof: Gustavo Wagner
IFRN Técnico em Informática para Internet Desenvolvimento de Algoritmos Prof. Gilbert Azevedo.
1 Projeto SMARt: Otimização do Schedule de uma Refinaria Laboratório de Inteligência Computacional Aplicada PUC-Rio.
MODELOS DE PROBABILIDADES BINOMIAIS E NORMAIS Probabilidade é usada por qualquer indivíduo que toma decisões em situações de incerteza. São várias situações.
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais FATEC-PB Professor: Gustavo Wagner
Gestão Financeira Prof. Augusto Santana. Análise de Investimentos A Decisão de Investir As decisões de investimento envolvem a elaboração, avaliação e.
Análise de Liquidez 1.2 Administração do Capital de Giro 1.3 Financiamento do Capital de Giro.
3. SELEÇÃO DE PRESTADOR DE SERVIÇOS LOGÍSTICOS 3
Problema do Empacotamento (Bin Packing) Heurística Simulated Annealing Dionatan de Souza Moura Lucas Nowaczyk Seadi Tobias Brignol Petry.
SISTEMAS OPERACIONAIS MEMÓRIA VIRTUAL. INTRODUÇÃO Memória Virtual é um técnica sofisticada e poderosa de gerenciamento de memória, onde a MP e a MS são.
Alessandro D. R. Fazenda
Estruturas Lineares de Dados Revisão Wolley W. Silva.
Jean Carlo Mendes
Sistemas de Informação Capítulo 3 O uso consciente da tecnologia para o gerenciamento JADIEL MESTRE.
Contabilidade Aplicada as Instituições Financeiras José Leandro Ciofi Aula 16.
GESTÃO DE PROJETOS. 1. Introdução ao Gerenciamento de Projetos 1.1. Definições de Projeto, Programa e Portfólio. Relações entre Gerenciamento de Projetos,
Workflow. COMPONENTES ANA CLAUDIA ELIZÂNGELA GOMES HERIKA PIRES LEONARDO PORTES MARIANA ARIELLE MARIA MOREIRA SANDRO PIRES.
AULA 6 - Povo: traços característicos e distintivos
Universidade Federal do Rio Grande do Norte Orientação Facudade de Ciências da Saúde do Trairi-FACISA Orientação Acadêmica- FACISA.
Disciplina: Circuitos Digitais
 Apenas uma parte relativamente pequena do espaço de endereçamento dos programas é acessada em um instante qualquer  Localidade Temporal  Um item referenciado.
Herança e Polimorfismo Prof. Gustavo Wagner (Alterações) Prof. Tiago Massoni (Slides Originais) Desenvolvimento de Sistemas FATEC-PB  Centro de Informática,
INE5408 Estruturas de Dados Estruturas de Dados básicas utilizando Vetores - Listas.
B.I. Business Inteligence PROFESSOR MARCELO CAMPINHOS.
Lógica de programação Estruturas de seleção Estruturas de repetição Sub-Rotinas 1.
Revisão de Conceitos Thiago Medeiros Barros. Algoritmos Qualquer problema de computação pode ser resolvido executando uma série de ações em uma ordem.
Orçamento Empresarial Aula 04. Relação com outras áreas Periodicidade Plano de projetos Aquisição de uma máquina, construção de fábrica contrato de fornecimento.
Curso de Jornalismo Investigativo: uma capacitação para organizações e ativistas locais Análise e filtro de dados: oficina prática Apresentação baseada.
Oficina de Informática
Unidade I Estatística Descritiva Profª. Maria Ester Domingues de Oliveira.
1 1 Slide Programação Dinâmica Prof. Dr. Alexandre Pereira Salgado Junior.
Instrumentação – Conceitos Básicos Universidade de Brasília Departamento de Engenharia Mecânica Programa de Pós-graduação em Ciências Mecânicas Professores.
CONFIABILIDADE NA MANUTENÇÃO Eng° José Wagner Braidotti Junior JWB Engenharia e Consultoria S/C Ltda. Outubro de 2010.
NOME DA MATÉRIA NOME DO(A) PROFESSOR(A) Ana Virginia R. Veríssimo Processo Administrativo Planejamento.
MEDIÇÃO, CALIBRAÇÃO E VERIFICAÇÃO EM BALANÇAS 1 Francisco E. Magalhães & Marcelo M. Campello Outubro de 2007.
Prof a Ana Carla Bittencourt Reis 1 Teoria das Filas.
Reconhecimento de Padrões Mineração de Dados para Detecção de Padrões de Mudança de Cobertura da Terra Padrões e processos em Dinâmica de uso e Cobertura.
PROGRAMAÇÃO BÁSICA NA HP-12C. A MÉMÓRIA BÁSICA DA HP-12C A MÉMORIA BÁSICA DA HP-12C GOLD/PLATINUM/PRESTIGE POSSUI 8 LINHAS A HP-12C GOLD/PLATINUM/PRESTIGE.
Transcrição da apresentação:

INTRODUÇÃO A SISTEMAS DE TEMPO REAL PARA MICROCONTROLADORES IFBA - Raimundo Jorge Abreu- 2009

Introdução (RTOS - Real Time Operating System) é um sistema de computação destinado à execução de múltiplas tarefas onde o tempo de resposta a um evento (externo ou interno) é pré-definido (RTOS - Real Time Operating System) é um sistema de computação destinado à execução de múltiplas tarefas onde o tempo de resposta a um evento (externo ou interno) é pré-definido Os STR tem que reagir, dentro de um prazo pré-definido Os STR tem que reagir, dentro de um prazo pré-definido

Introdução: Exemplos de Sistemas de Tempo Real Exemplos de Sistemas de Tempo Real  Centrais telefônicas, videoconferência  Automação em aeronaves, sondas espaciais  Radar, sonar, sistema guia em mísseis  Controle de processos, robôs, aquisição de dados  Transações em bolsa, negociação automática  Vídeo games, vídeo sob demanda, áudio

Modelo:

Definições gerais: Tarefa ( task ) - Segmento de código de um programa. Tarefa ( task ) - Segmento de código de um programa. – Período de requisição – Intervalo de tempo entre requisições. Ti – Run Time - Tempo de execução sem interrupção, Ci Tempo de Execução no Pior Caso (WCET) Worst Case Execution Time. – Deadline – tempo limite para a término da execução de uma determinada tarefa, Di – Prioridade – Urgência na execução da tarefa, P

Definições gerais: Classificação: hard real-time hard real-time – Falhas temporais podem levar a catástrofes – Exemplo – sistema de freios ABS Soft real-time Soft real-time – Resposta dentro de uma média de tempo é aceitável – Exemplo – video games, tocadores MP3

Sobre Tarefas: Tarefas podem ser – Periódicas - Período de requisição é fixo e conhecido, características de sistema Time-triggered Ex: Medida e controle de temperatura – Esporádica – Intervalo mínimo conhecido Ex: Atendimento a um botão pressionado – Aperiódica – Nada se sabe sobre o tempo de resquisição. Ex: Falha no sistema de alimentação.

Sobre Tarefas:

Ativação de Tarefas Por evento (Event-triggered ) – Tarefas são disparadas pela percepção da ocorrência de eventos – Pode ocorrer uma falha do sistema na ocorrência de alta taxas de eventos – Ex: Alguém pressionou o botão de PLAY Por tempo (Time-triggered) Por tempo (Time-triggered) – Tarefas respondem a eventos em momentos predeterminados – Sistemas menos versáteis – Permite determinismo temporal – Ex: tick para incrementar um relógio

Escalonamento(scheduling ) Aloca às tarefas recursos computacionais, normalmente tempo do processador. Aloca às tarefas recursos computacionais, normalmente tempo do processador. Distribuir recursos computacionais ao longo do tempo de forma que as tarefas do sistema preservem seus requisitos temporais Distribuir recursos computacionais ao longo do tempo de forma que as tarefas do sistema preservem seus requisitos temporais Nem sempre possível escalonar um número de tarefas com períodos Ti e tempos de execução Ci Nem sempre possível escalonar um número de tarefas com períodos Ti e tempos de execução Ci Escalonamento – Estático ( static scheduling ) A decisão de qual tarefa será executada é feita antes de ligar o sistema (off-line) Capaz de oferecer previsibilidade determinista – Escalonamento Dinâmico ( dynamic scheduling ) A decisão de qual tarefa será executada é feita com o sistema em funcionamento Capaz de oferecer apenas previsibilidade probabilista

Abordagem de escalonamento Diferentes abordagem são necessárias pois os sistemas variam enormemente Diferentes abordagem são necessárias pois os sistemas variam enormemente Tarefas periódicas Tarefas periódicas – Baseado no tempo(timer driven) Executivo Cíclico (Cyclic Executives) Executivo Cíclico (Cyclic Executives) – Baseado em prioridade(priority driven) Taxa monotonica (rate monotonic) RM Taxa monotonica (rate monotonic) RM EDF (Earliest Deadline First) EDF (Earliest Deadline First)

Abordagem de escalonamento Executivo Cíclico (Cyclic Executives) – Uma maneira comum de implementar Hard Real-time é usar um executivo cíclico – As tarefas são mapeadas em um conjunto de ciclos menores que constituem um escalonamento completo (ou ciclo principal) – Tarefas de menor período dita o ciclo mínimo de tempo – Tarefas de maior dita o ciclo de tempo máximo – Tem a vantagem tem a de ser totalmente determinístico – Tem problemas com tarefas não periódicas. – Todo trabalho de escalonamento é feito no projeto.

Executivo Cíclico Considere um conjunto de tarefas Tarefa, tPeríodo, T Tempo de computação,C t1258 t2258 t3504 t4504 t51004

Executivo Cíclico Distribuição temporal das tarefas

Executivo Cíclico while(1) { wait_for_tick(); // espera por um sinal do temporizador wait_for_tick(); // espera por um sinal do temporizador Task(t1); Task(t2); Task(t3); Task(t1); Task(t2); Task(t3); wait_for_tick (); wait_for_tick (); Task(t1); Task(t2); Task(t4); Task(t5); Task(t1); Task(t2); Task(t4); Task(t5); wait_for_tick (); Task(t1); Task(t2); Task(t3); Task(t1); Task(t2); Task(t3); wait_for_tick(); wait_for_tick(); Task(t1); Task(t2); Task(t4); }

Escalonamento Baseado em prioridade(priority driven) Rate Monotonic O algoritmo RM atribui prioridades a tarefas de acordo com suas taxas(períodos) O algoritmo RM atribui prioridades a tarefas de acordo com suas taxas(períodos) Tarefas com maiores taxas de requisição (menor período) tem maior prioridade. Tarefas com maiores taxas de requisição (menor período) tem maior prioridade. Como os períodos são constantes, o RM é um algoritmo de prioridade estática Como os períodos são constantes, o RM é um algoritmo de prioridade estática Algoritmo preemptivo: uma nova tarefa com período menor preempta uma tarefa que estiver sendo executada Algoritmo preemptivo: uma nova tarefa com período menor preempta uma tarefa que estiver sendo executada Para o RM, as tarefas tem um deadline igual a seu período Para o RM, as tarefas tem um deadline igual a seu período

Rate Monotonic (taxa monotônica) Seja T1=2, C1=1,T2 = 5, C2=1,5 logo T1 P(t2) Neste caso o escalonamento de τ1 e τ2 é possível

Rate Monotonic (taxa monotônica) Seja T1=2, C1=1,T2 = 5, C2=2,5 logo T1 P(t2) Neste caso o escalonamento de τ1 e τ2 não é possível

Escalonamento não Rate Monotonic Se T1<T2, e P(t1)<P(t2) Então C1 + C2 ≤ T1 Seja T1=2, C1=1,T2 = 5, C2=1 Temos :

Análise de escalonabilidade do RM Análise pelo tempo de resposta (Ci) Análise pelo tempo de resposta (Ci) Dado T1 < T2 P(τ1) > P(τ2) floor(T2/T1) * C1 + C2 ≤ T2 Esta condição é necessária Esta condição é necessária Análise pela utilização do processador (U) Análise pela utilização do processador (U)  Uso do processador é dado por:  Para n tarefas temos:  É para um sistema escalonável é suficiente que:

Implementação:  O escalonador é a tarefa de maior prioridade logo tem o menor período  Todas as tarefas tem períodos múltiplos do período do escalonador  O contexto deve ser salvo durante a preempção de uma tarefa.(difícil)  As funções compartilhadas pela tarefas devem ser reentrantes.

Implementação Salvando o contexto

Implementação Reentrância - uma sub-rotina ou função é dita reentrante se, pode ser interrompida e executada a partir do início sem ter seus resultado alterados ou corrompidos. Int a; Int Func(int b) { a =b; b=a+2; return(b) } C=func(3);  interrupção - → d=func(2);

Reentrância – para uma sub-rotina ser reentrante basta ter suas variáveis salvas na pilha no momento de sua invocação e restaurada no momento da saída da sub- rotina. Reentrância – para uma sub-rotina ser reentrante basta ter suas variáveis salvas na pilha no momento de sua invocação e restaurada no momento da saída da sub- rotina. Segue exemplo de sub-rotina reentrante. Segue exemplo de sub-rotina reentrante. Implementação

// reentrante public_trans segcodsegmentcode segdatsegmentdata SCON_1equ0C0h SBUF_1equ0C1h TI_1equSCON_1.1 rsegsegdat var1:ds1 rsegsegcod ; ; unsigned char trans(char code *) r6:r7 ; Salva na pilha var1 para que a subrotina se torne ; reentrante ; _trans:pushvar1 movdph,r6 movdpl,r7 movvar1,#0 volta:clra jzfim jnbTI_1,$ clrTI_1 movSBUF_1,a incdptr incvar1 jmpvolta fim:movr7,var1 popvar1 ret end

Máquina de estados Uma máquina de estados finitos é uma modelagem de um comportamento, composto por estados, transições e ações. Uma máquina de estados finitos é uma modelagem de um comportamento, composto por estados, transições e ações. Um estado armazena informações sobre o passado Um estado armazena informações sobre o passado Uma transição indica uma mudança de estado Uma transição indica uma mudança de estado Uma ação é a descrição de uma atividade que deve ser realizada num determinado momento. Uma ação é a descrição de uma atividade que deve ser realizada num determinado momento.

Máquina de estados Diagrama de transição de estados. - Máquina de Mealy

Máquina de estados Maquina de estados da rotina de varredura do display

Perguntas? Fim da III unidade