Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do...

64
Sistemas Embutidos (embarcados) Paulo C. Masiero

Transcript of Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do...

Page 1: Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do sistema e com ele interage •O tempo de resposta o diferencia de outros sistemas.

Sistemas Embutidos (embarcados)

Paulo C. Masiero

Page 2: Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do sistema e com ele interage •O tempo de resposta o diferencia de outros sistemas.

Caracterização

• São usados para controlar sistemas de diferentes tipos: máquinas domésticas, fábricas, carros, jogos etc.

• O software é embutido no hardware do sistema e com ele interage

• O tempo de resposta o diferencia de outros sistemas.

• É o tipo de sistema mais comum, com grande impacto econômico.

• Muitas vezes está integrado a um Sistema de Informação.

Page 3: Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do sistema e com ele interage •O tempo de resposta o diferencia de outros sistemas.

Definições

• SEs são sistemas de processamento de informação embutidos (ou embarcados) em um produto maior (Peter Marwedel)

• SE é um software integrado com processos físicos. O problema técnico é gerenciar tempo e concorrência em sistemas computacionais.

• Sistemas Ciber-Físicos (SCF, ou CPF: Cyber –Physical Systems) são a integração da computação com processos físicos (Edward Lee, 2006)

Page 4: Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do sistema e com ele interage •O tempo de resposta o diferencia de outros sistemas.

SEs devem ser “confiáveis” • Reliability R(t) = probabilidade de um sistema operar

corretamente desde que ele esteja operando no tempo t=0. • Maintainability M(d) = probabilidade de um sistema operar

corretamente d unidades de tempo após a ocorrência do erro. • Availability A(t): probabilidade de um sistema operar

corretamente no tempo t • Safety: nenhum prejuízo (mal) será causado • Security: comunicação confidencial and fidedigna

– Mesmo sistemas perfeitamente projetados podem falhar

se as suposições sobre sua carga de trabalho e possíveis erros se mostrarem incorretas.

– Tornar o sistema “confiável” não pode ser uma consideração posterior ao seu desenvolvimento, deve ser considerada desde o seu início.

Page 5: Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do sistema e com ele interage •O tempo de resposta o diferencia de outros sistemas.

Sistema de Tempo real

• O funcionamento depende dos resultados produzidos pelo sistema e do tempo em que esses resultados são produzidos

• STR Leve: se a operação for degradada caso os resultados não sejam produzidos de acordo com os requisitos de tempo/desempenho.

• STR Rígido (ou pesado ou crítico): se a operação for incorreta caso os resultados não forem produzidos de acordo com os requisitos de tempo/desempenho.

Page 6: Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do sistema e com ele interage •O tempo de resposta o diferencia de outros sistemas.

Eficiência

• Os SE embutidos devem ser eficientes quanto ao:

– Código (especialmente para os sistemas em chip)

– Tempo de execução

– Peso

– Custo

– Energia

Page 7: Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do sistema e com ele interage •O tempo de resposta o diferencia de outros sistemas.

SE e Hardware

Page 8: Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do sistema e com ele interage •O tempo de resposta o diferencia de outros sistemas.

Geralmente:

• O software que executa em um computador e controla outras máquinas é um sistema embarcado de tempo real.

• Recebe eventos (sinais) gerados pelo hardware e emite sinais de controle para o hardware em resposta a esses eventos.

• A resposta pode estar condicionada a restrições de tempo.

Page 9: Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do sistema e com ele interage •O tempo de resposta o diferencia de outros sistemas.

Requisitos de Tempo-Real

• Um sistema de tempo real (STR) deve reagir a estímulos do objeto controlado em um intervalo de tempo determinado pelo ambiente.

• Um requisito (ou restrição) de tempo de tempo é chamado de “crítico” (hard) quando ele não for satisfeito causar uma catastrofe (Kopetz, 1997).

• Para STR, respostas corretas muito tarde são erradas.

• Uma resposta garantida do sistema tem que ser explicada sem argumentos estatísticos.

Page 10: Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do sistema e com ele interage •O tempo de resposta o diferencia de outros sistemas.

SCF, STR e SE são sinônimos?

• Para alguns SE, comportamento de tempo real é menos importante. Ex. Tel. Celular. Daí SE ~ STR

• Para SCF, o comportamento de tempo real é essencial. Daí SCF STR

• Modelos de SCF também incluem um modelo do sistema físico.

• SE tipicamente modelam componentes de TI. Daí SCF SI (Componentes de TI) + Modelos Físicos

Page 11: Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do sistema e com ele interage •O tempo de resposta o diferencia de outros sistemas.

Aplicações: Eletrônica automotiva (claramente ciber-física)

• ABS: Anti-lock braking systems

• ESP: Electronic stability control

• Airbags

• Chaves inteligenets (prevenção de furtos)

• Sistemas de alerta de ângulo-cego.

• Etc.

Idem para aviões e VANTS

Page 12: Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do sistema e com ele interage •O tempo de resposta o diferencia de outros sistemas.

SE em outras indústrias

• Painéis de fornos de micro-onda, máquinas de lavar roupa, geladeiras etc.

• Alarmes anti-furtos (uso doméstico)

• Telefones celulares

• Dispositivos médicos

• Etc.

Page 13: Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do sistema e com ele interage •O tempo de resposta o diferencia de outros sistemas.
Page 14: Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do sistema e com ele interage •O tempo de resposta o diferencia de outros sistemas.

Projeto de Sistemas Embarcados

• É um processo de engenharia de sistemas em que os projetistas de software devem considerar em detalhes o projeto e o desempenho do hardware

• Um processo de cima para baixo(top down) pode ser difícil de usar. Decisões de baixo nível podem ter que ser consideradas no início do projeto.

• Esses fatores diminuem a flexibilidade do projeto.

Page 15: Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do sistema e com ele interage •O tempo de resposta o diferencia de outros sistemas.

Projeto de Sistemas Embarcados (Cont.)

• Os sistemas são geralmente reativos e baseados numa abordagem estímulo-resposta.

• O estímulo é uma entrada geralmente proveniente de sensores e deve produzir uma como saída uma resposta geralmente dirigida a atuadores

• Os estímulos podem ser de duas categorias: – Periódicos: ocorrem em intervalos previsíveis

– Aperiódicos: ocorrem de forma irregular e imprevisível

Page 16: Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do sistema e com ele interage •O tempo de resposta o diferencia de outros sistemas.

Projeto de Sistema Embutido (Cont.)

• Deve considerar em detalhes o projeto e o desempenho do hardware do sistema.

• É preciso decidir que recursos deve ser implementado em software e que parte em hardware

• Custos e consumo de energia são críticos.

• É necessário decidir se serão usados processadores de prateleira (ex. fpga) ou se deverá ser projetado e construído um novo hardware.

Page 17: Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do sistema e com ele interage •O tempo de resposta o diferencia de outros sistemas.
Page 18: Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do sistema e com ele interage •O tempo de resposta o diferencia de outros sistemas.

Um modelo sensor-sistema-atuador

Diretriz geral: processos separados para cada tipo de sensor e atuador.

Page 19: Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do sistema e com ele interage •O tempo de resposta o diferencia de outros sistemas.

PSE (Cont.)

• Atuadores também podem gerar estímulos (geralmente indicando problemas ocorridos)

• A arquitetura do sistema deve ser organizada para que, assim que um estímulo seja recebido, o controle seja transferido para o tratador correto.

• Isso é impraticável em sistemas sequenciais processos concorrentes.

Page 20: Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do sistema e com ele interage •O tempo de resposta o diferencia de outros sistemas.

Arquitetura genérica abstrata

• Contém 3 tipos de processos

• Para cada sensor existe um processo gerenciador

• Para cada atuador há um processo gerenciador

• Há um ou mais processos controladores/processadores.

• Essa arquitetura genérica pode ser instanciada para arquiteturas específicas. Ex.: sistemas de monitoração e de aquisição de dados.

Page 21: Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do sistema e com ele interage •O tempo de resposta o diferencia de outros sistemas.

Sistemas de tempo real

• As linguagens de programação precisam incluir recursos de baixo nível. Ex. C.

• Java vem sendo atualizada para incluir vários mecanismos que permitam o uso em sistemas de tempo real. – O mecanismo básico são as threads

• Mas já existem linguagens de alto nível (chamadas também de “modelos”) que permitem implementar sistemas embarcados.

Page 22: Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do sistema e com ele interage •O tempo de resposta o diferencia de outros sistemas.

Projeto de Sistemas Embutidos

• Não há um processo –padrão de sistemas embutidos e eles são definidos de acordo com o tipo e complexidade do sistema, do hardware disponível e da organização que está desenvolvendo.

• Decisão importante: quais partes serão implantadas como hardware e quais partes serão implantadas como software.

• Para muitos STR embutidos, os custos, consumo de energia e espaço são críticos.

Page 23: Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do sistema e com ele interage •O tempo de resposta o diferencia de outros sistemas.

Projeto de Sistemas: Atividades Principais

1. Seleção da plataforma (Hardware e SO)

2. Identificar estímulos e respostas

3. Analisar restrições temporais (timing), para cada estímulo (restrições de tempo)

4. Projeto de processos (concorrentes), os estímulos e respostas são agregados em processos concorrentes de acordo com a arquitetura do sistema.

Page 24: Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do sistema e com ele interage •O tempo de resposta o diferencia de outros sistemas.

Projeto de Sistemas: Atividades Principais

5. Projeto de algoritmos, para fazer o processamento necessário para cada estímulo e resposta

6. Projeto de dados: informações entre processos e eventos que coordenam a troca de informações

7. Programação de processo: projetar um sistema de alocação (scheduling) que permita atender as restrições temporais.

Page 25: Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do sistema e com ele interage •O tempo de resposta o diferencia de outros sistemas.

Processos de sensores e atuadores

Page 26: Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do sistema e com ele interage •O tempo de resposta o diferencia de outros sistemas.

Algumas considerações

• Coordenação de processos (semáforos, regiões críticas).

• Análises teóricas para avaliar se as restrições temporais serão atendidas. Isso pode ser difícil

• Linguagens OO podem não ser eficientes para implementar um STR.

Page 27: Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do sistema e com ele interage •O tempo de resposta o diferencia de outros sistemas.

Algumas considerações (Cont.)

• Os processos podem executar com diferentes velocidades.

• Isso pode ser resolvido implementando trocas de informações por meio de “buffers” compartilhados e uso de exclusão mútua para controlar o acesso ao buffer.

Page 28: Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do sistema e com ele interage •O tempo de resposta o diferencia de outros sistemas.
Page 29: Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do sistema e com ele interage •O tempo de resposta o diferencia de outros sistemas.

Modelagem de STR

• A resposta aos estímulos muitas vezes depende do estado do sistema uso de diagramas de estado

• UML: statecharts

• Um modelo de estado considera que em qualquer momento o sistema está em um dos vários estados possíveis. Os estímulos causam a transição para outros estados.

• Exemplo: uma bomba de gasolina automática

Page 30: Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do sistema e com ele interage •O tempo de resposta o diferencia de outros sistemas.

Exemplo: controlador de uma bomba de gasolina

Page 31: Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do sistema e com ele interage •O tempo de resposta o diferencia de outros sistemas.

Programação em Tempo Real

• As LP para desenvolver STR precisam ter recursos para: – Acessar o hardware

– Prever o tempo de duração de determinadas operações

• Muitas vezes se usa linguagens montadoras

• Também é necessário suporte para concorrência e gestão compartilhada de recursos.

Page 32: Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do sistema e com ele interage •O tempo de resposta o diferencia de outros sistemas.

Padrões de arquitetura

• Um padrão de arquitetura pode ser pensado como um projeto genérico para ser instanciado.

• Os padrões de SE são orientados a processos, em vez de orientados a objetos e componentes.

• Três padrões: – Observar e reagir – Controle de ambiente – Pipeline de processo

• Esses padrões podem ser combinados e haver mais de um deles em um mesmo sistema.

Page 33: Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do sistema e com ele interage •O tempo de resposta o diferencia de outros sistemas.

Observar e reagir

• É usado quando um conjunto de sensores é monitorado e exibido rotineiramente. Quando os sensores mostram que ocorreu um evento, o sistema reage e trata esse evento (ex. ligar um alarme).

• O estado do ambiente monitorado pelos sensores pode ser exibido em uma tela interna, telas especiais ou remotamente.

Page 34: Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do sistema e com ele interage •O tempo de resposta o diferencia de outros sistemas.
Page 35: Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do sistema e com ele interage •O tempo de resposta o diferencia de outros sistemas.
Page 36: Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do sistema e com ele interage •O tempo de resposta o diferencia de outros sistemas.

Exemplo: sistema de alarme contra furto

Descrição do Sistema

Page 37: Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do sistema e com ele interage •O tempo de resposta o diferencia de outros sistemas.
Page 38: Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do sistema e com ele interage •O tempo de resposta o diferencia de outros sistemas.

Controle de ambiente

• Quando o sistema inclui sensores que fornecem informações sobre o ambiente e atuadores capazes de alterar o ambiente, enviando sinais para os atuadores.

• São geralmente chamados de “sistemas de controle” e controlam equipamentos. Talvez seja o caso mais comum de sistemas embutidos.

• Ex: Freio ABS, controle de um aparelho de ar condicionado

Page 39: Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do sistema e com ele interage •O tempo de resposta o diferencia de outros sistemas.
Page 40: Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do sistema e com ele interage •O tempo de resposta o diferencia de outros sistemas.

É opcional

Page 41: Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do sistema e com ele interage •O tempo de resposta o diferencia de outros sistemas.
Page 42: Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do sistema e com ele interage •O tempo de resposta o diferencia de outros sistemas.

Padrão Pipeline

• Usado quando dados devem ser transformados de uma representação para outra antes de serem processados.

• Isso leva a uma sequência de processamentos, o que pode eventualmente ser feito em paralelo por diferentes processadores.

• Ex. um rádio que recebe pacotes de dados digitais e os transforma em sinais sonoros e depois transmite.

Page 43: Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do sistema e com ele interage •O tempo de resposta o diferencia de outros sistemas.

Padrão Pipeline (Cont.)

• É uma arquitetura eficiente quando se usam vários processadores ou processadores de muitos núcleos (cores)

• Exemplo típico: coleta (aquisição) de dados, em sistemas científicos e sistemas de controle.

• Os sensores podem gerar dados rapidamente e é preciso garantir que não se percam dados.

• Exemplo: Aquisição de dados em um reator nuclear.

Page 44: Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do sistema e com ele interage •O tempo de resposta o diferencia de outros sistemas.
Page 45: Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do sistema e com ele interage •O tempo de resposta o diferencia de outros sistemas.
Page 46: Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do sistema e com ele interage •O tempo de resposta o diferencia de outros sistemas.

Análise de tempos (timing)

• É o cálculo da frequência de execução de cada processo para garantir que todas as entradas sejam processadas e todas as saídas sejam produzidas no tempo esperado.

• O resultado é usado para decidir a frequência de execução e como o SOTR executará o processo.

• A análise é mais difícil quando o mesmo sistema trata eventos periódicos e aperiódicos

Page 47: Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do sistema e com ele interage •O tempo de resposta o diferencia de outros sistemas.

Fatores a considerar na análise

• Limites (Deadlines): o tempo para processar as entradas e produzir as saídas.

• Frequência: O número de vezes por segundo que um processo deve executar para cumprir seus deadlines

• Tempo de execução: o tempo necessário para processar as entradas e produzir as saídas . – Este tempo pode variar, por exemplo, pela execução

de um comando condicional.

– Análise do pior caso

Page 48: Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do sistema e com ele interage •O tempo de resposta o diferencia de outros sistemas.

Eventos aperiódicos

• Como são imprevisíveis, é necessário fazer suposições sobre sua taxa de chegada (probabilidade de ocorrência).

• As previsões podem não corresponder ao que ocorre quando o sistema se torna operacional.

• Como os computadores se tornaram mais rápidos, eventos aperiódicos podem ser tratados como eventos periódicos.

Page 49: Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do sistema e com ele interage •O tempo de resposta o diferencia de outros sistemas.

Eventos aperiódicos (cont.)

• Exemplo: uma falha de alimentação em um sistema embarcado pode significar que o SE precisa desligar o sistema físico de forma controlada, em um tempo definido (50ms, digamos)

• Aperiódico: implementar como uma interrupção de “falha de energia”

• Periódico: processo que é executado com alta frequência e verifica a energia, com tempo para desligar o sistema se detectar uma falha.

Page 50: Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do sistema e com ele interage •O tempo de resposta o diferencia de outros sistemas.

Análise de falha de energia

• Suposição: se houver falha de energia, demora 50ms para ela atingir um ponto que cause danos ao equipamento.

• Precaução: prever um limite de 40ms por causa de variações físicas nos equipamentos.

• Para ter certeza, fazer pelo menos duas observações para garantir a queda.

• Processo executa 250 vezes por segundo execução a cada 4ms 8ms para detectar o problema

Page 51: Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do sistema e com ele interage •O tempo de resposta o diferencia de outros sistemas.

Análise de falha de energia (Cont.)

• O pior caso de tempo de execução é 16ms

– São necessários 8ms para detectar o problema

– como são necessárias duas execuções do processo, temos (40ms – 8ms)/2= 16ms

• Para ter uma margem de segurança, o tempo de execução do processo deve ser bem menor que 16ms.

Page 52: Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do sistema e com ele interage •O tempo de resposta o diferencia de outros sistemas.

Sistema de alarme contra roubos • Listar as restrições de tempo para cada classe de sensor

separadamente • Atribuir processos concorrentes para cada tipo de sensor (há 4

tipos: tensão, porta, janela e movimento). • Como a checagem deve verificar se o estado do sensor mudou

(ex. de desligado para ligado), é razoável supor que o tempo de execução desse processo seja menor que 1ms.

Page 53: Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do sistema e com ele interage •O tempo de resposta o diferencia de outros sistemas.

Sistema de alarme contra roubos • Em seguida, decidir:

– Como os processos relacionados vão executar – Quantos sensores serão examinados em cada execução do

processo

EXEMPLOS: • Examinar 1 sensor por execução e N sensores de cada

tipo programar os processo para 4N vezes por segundo, para garantir que o limite de 0,25 ms por sensor seja satisfeito.

• Examinar 4 sensores por execução e N sensores tempo de execução = 4ms, mas o processo precisa ser executado só N/4 vezes/segundo para atender ao requisito de tempo.

Page 54: Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do sistema e com ele interage •O tempo de resposta o diferencia de outros sistemas.

R= Resposta ( a uma entrada) B= Background (2º. Plano) Processos periódicos são anotados com sua frequência O tempo de execução representado é o pior tempo

Page 55: Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do sistema e com ele interage •O tempo de resposta o diferencia de outros sistemas.

Sistema de alarme contra roubos (finalizando)

• O Sistema Operacional de Tempo Real deve ser usado para garantir a programação de processos que atendam aos deadlines. – O SOTR aloca um processo para um período de tempo, que

pode ser fixo ou variar, de acordo com a prioridade do processo.

• Processos com tempos mais estritos devem receber prioridade maior – Por exemplo, o processo “monitor de tensão” deve ter

prioridade mais alta que os demais porque precisa detectar a queda de tensão e a mudança para o gerador de backup seja feita com tempo para não parar o sistema.

Page 56: Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do sistema e com ele interage •O tempo de resposta o diferencia de outros sistemas.

Sistema Operacional de Tempo Real

• Muitos sistemas embutidos funcionam com um SOTR ou podem ser executados sem um sistema operacional.

• Os SOTR podem ser muito simples ou grandes e complexos. – Windows/CE, Vxworks e RTLinux

• Em geral possuem: relógio de tempo real, tratador de interrupções, alocador (scheduler) gerenciador de recurso e despachador

Page 57: Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do sistema e com ele interage •O tempo de resposta o diferencia de outros sistemas.

Gerenciamento de Processos

• É preciso tratar processos com prioridades

• Deve haver pelo menos dois níveis de prioridade:

– Nível de interrupção, para os processos que precisam de resposta muito rápida

– Nível de relógio, para os processos periódicos

Page 58: Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do sistema e com ele interage •O tempo de resposta o diferencia de outros sistemas.
Page 59: Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do sistema e com ele interage •O tempo de resposta o diferencia de outros sistemas.

Gerenciamento de Processos

• UM SOTR deve implementar pelo menos dois tipos de níveis prioridade para processos:

– Nível de Interrupção: é alocado para processos que exigem resposta muito rapidamente. Ex. o processo de relógio de tempo real.

– Nível de relógio: é alocado para processos periódicos

• Um terceiro nível, de 2º. Plano, também é desejável para processos que não precisam satisfazer deadlines. Ex: autoverificação e teste.

Page 60: Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do sistema e com ele interage •O tempo de resposta o diferencia de outros sistemas.

Gerenciamento de Processos (Cont.)

• Diferentes classes de processos podem ser alocados a diferentes prioridades.

• Muitas vezes dois processos diferentes devem ser executados no mesmo tique do relógio um deles deve ser retardado ( o que tiver maior deadline?).

Page 61: Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do sistema e com ele interage •O tempo de resposta o diferencia de outros sistemas.

Gerenciamento de Processos (Cont.)

• Processos que precisam responder rapidamente a eventos assíncronos podem ser dirigidos por interrupção.

• O SOTR tem políticas que determinam a ordem de execução de processos: – Programação não preemptiva

– Programação preemptiva

• Há diferentes algoritmos para isso: round-robin, rate monotonic (processo mas curto/frequência mais alta), shortest deadline first

Page 62: Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do sistema e com ele interage •O tempo de resposta o diferencia de outros sistemas.

Sistemas de monitoração e controle

• É uma categoria importante de STR

• Verificam sensores que fornecem informação sobre o ambiente do sistema e executam ações que dependem da leitura do sensor

• Sistemas de monitoração executam ações de acordo com os valores/sinais dos sensores

• Os sistemas de monitoração controlam continuamente os atuadores de hardware de acordo com os valores dos sensores associados.

Page 63: Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do sistema e com ele interage •O tempo de resposta o diferencia de outros sistemas.
Page 64: Sistemas Embutidos (embarcados) - edisciplinas.usp.br · •O software é embutido no hardware do sistema e com ele interage •O tempo de resposta o diferencia de outros sistemas.