campus capivari análise e desenvolvimento de sistemas (ads ... · embutido sistemas embutidos...
TRANSCRIPT
![Page 1: Campus Capivari Análise e Desenvolvimento de Sistemas (ADS ... · EMBUTIDO Sistemas embutidos geralmente executam continuamenteenãoparam. Interações com o ambiente do sistema](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c479e1b93f3c34c506272c9/html5/thumbnails/1.jpg)
Campus Capivari
Análise e Desenvolvimento de Sistemas (ADS)
Prof. André Luís Belini
E-mail: [email protected] / [email protected]
![Page 2: Campus Capivari Análise e Desenvolvimento de Sistemas (ADS ... · EMBUTIDO Sistemas embutidos geralmente executam continuamenteenãoparam. Interações com o ambiente do sistema](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c479e1b93f3c34c506272c9/html5/thumbnails/2.jpg)
MATÉRIA: ENGENHARIA DE SOFTWARE
� Aula N°: 15
� Tema: Arquitetura Orientada a Serviços
� Tópico do Plano de Ensino: 15
![Page 3: Campus Capivari Análise e Desenvolvimento de Sistemas (ADS ... · EMBUTIDO Sistemas embutidos geralmente executam continuamenteenãoparam. Interações com o ambiente do sistema](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c479e1b93f3c34c506272c9/html5/thumbnails/3.jpg)
TÓPICOS ABORDADOS
• Projeto de sistemas embutidos
• Padrões de arquitetura
• Análise de timing
• Sistemas operacionais de tempo real
![Page 4: Campus Capivari Análise e Desenvolvimento de Sistemas (ADS ... · EMBUTIDO Sistemas embutidos geralmente executam continuamenteenãoparam. Interações com o ambiente do sistema](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c479e1b93f3c34c506272c9/html5/thumbnails/4.jpg)
SOFTWARES EMBUTIDOS
� Os computadores são usados para controlar uma vasta
gama de sistemas, desde máquinas domésticas simples,
passando por controladores de jogos, até indústrias
inteiras.
� Seu software deve reagir a eventos gerados pelo hardware
e, muitas vezes, em resposta a esses eventos emitir sinais
de controle.
� Nesses sistemas, o software é incorporado ao hardware do
sistema, muitas vezes em memória de leitura apenas, e
geralmente, responde em tempo real aos eventos do
ambiente do sistema.
![Page 5: Campus Capivari Análise e Desenvolvimento de Sistemas (ADS ... · EMBUTIDO Sistemas embutidos geralmente executam continuamenteenãoparam. Interações com o ambiente do sistema](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c479e1b93f3c34c506272c9/html5/thumbnails/5.jpg)
CAPACIDADE DE RESPOSTA
� A capacidade de resposta em tempo real é a diferença fundamental
entre sistemas embutidos e outros sistemas de software, tais como
sistemas de informação, sistemas baseados em web ou sistemas de
software pessoal.
� Para sistemas de tempo não real, correções podem ser definidas,
especificando como as entradas do sistema mapeiam as saídas
correspondentes, os quais devem ser produzidas pelo sistema.
� Em um sistema de tempo real, a capacidade de correção depende
tanto da resposta a uma entrada quanto do tempo necessário para
gerar essa resposta. Se o sistema demora muito tempo para
responder, então a resposta demandada pode ser ineficaz.
![Page 6: Campus Capivari Análise e Desenvolvimento de Sistemas (ADS ... · EMBUTIDO Sistemas embutidos geralmente executam continuamenteenãoparam. Interações com o ambiente do sistema](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c479e1b93f3c34c506272c9/html5/thumbnails/6.jpg)
DEFINIÇÃO
� Um sistema de tempo real é um sistema de software, no
qual o funcionamento correto do sistema depende dos
resultados produzidos pelo sistema e do momento em que
esses resultados são produzidos.
� Um sistema de tempo real leve é um sistema cuja operação
é degradada caso os resultados não sejam produzidos de
acordo com os requisitos de tempo especificado.
� Um sistema de tempo real pesado é um sistema cuja
operação está incorreta caso os resultados não sejam
produzidos de acordo com a especificação de tempo.
![Page 7: Campus Capivari Análise e Desenvolvimento de Sistemas (ADS ... · EMBUTIDO Sistemas embutidos geralmente executam continuamenteenãoparam. Interações com o ambiente do sistema](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c479e1b93f3c34c506272c9/html5/thumbnails/7.jpg)
CARACTERÍSTICAS DO SISTEMA
EMBUTIDO
� Sistemas embutidos geralmente executam
continuamente e não param.
� Interações com o ambiente do sistema são
incontroláveis e imprevisíveis.
� Podem haver limitações físicas (energia, por exemplo)
que afetam o projeto de um sistema.
� Podem ser necessárias interações diretas do
hardware.
� Questões de segurança e confiabilidade podem
dominar o projeto do sistema.
![Page 8: Campus Capivari Análise e Desenvolvimento de Sistemas (ADS ... · EMBUTIDO Sistemas embutidos geralmente executam continuamenteenãoparam. Interações com o ambiente do sistema](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c479e1b93f3c34c506272c9/html5/thumbnails/8.jpg)
PROJETO DE SISTEMAS EMBUTIDOS
� O processo de projeto de sistemas embutidos é um processo de
engenharia de sistemas que tem de considerar, em detalhes, o
projeto e o desempenho do hardware do sistema.
� Parte do processo de projeto pode envolver decidir quais
recursos do sistema devem ser implementados no software e
quais devem ser implementados no hardware.
� Decisões de baixo nível sobre o hardware, software de apoio e
timing do sistema devem ser consideradas no início do
processo.
� O que poderá significar que funcionalidade adicional de
software, tais como gerenciamento de bateria e energia,
precisa ser incluída no sistema.
![Page 9: Campus Capivari Análise e Desenvolvimento de Sistemas (ADS ... · EMBUTIDO Sistemas embutidos geralmente executam continuamenteenãoparam. Interações com o ambiente do sistema](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c479e1b93f3c34c506272c9/html5/thumbnails/9.jpg)
SISTEMAS REATIVOS
� Dado um estímulo, o sistema deve produzir uma
reação ou resposta dentro de um prazo especificado.
� Estímulos periódicos. Estímulos que ocorrem em
intervalos previsíveis de tempo.
� Por exemplo, um sensor de temperatura pode ser
consultado 10 vezes por segundo.
� Estímulos aperiódicas. Estímulos que ocorrem em
momentos imprevisíveis.
� Por exemplo, uma falha na energia do sistema pode
disparar uma interrupção, a qual deve ser processada pelo
sistema.
![Page 10: Campus Capivari Análise e Desenvolvimento de Sistemas (ADS ... · EMBUTIDO Sistemas embutidos geralmente executam continuamenteenãoparam. Interações com o ambiente do sistema](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c479e1b93f3c34c506272c9/html5/thumbnails/10.jpg)
ESTÍMULOS E RESPOSTAS PARA UM SISTEMA DE
ALARME CONTRA ROUBO
![Page 11: Campus Capivari Análise e Desenvolvimento de Sistemas (ADS ... · EMBUTIDO Sistemas embutidos geralmente executam continuamenteenãoparam. Interações com o ambiente do sistema](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c479e1b93f3c34c506272c9/html5/thumbnails/11.jpg)
UM MODELO GERAL DE SISTEMAS EMBUTIDOS
DE TEMPO REAL
![Page 12: Campus Capivari Análise e Desenvolvimento de Sistemas (ADS ... · EMBUTIDO Sistemas embutidos geralmente executam continuamenteenãoparam. Interações com o ambiente do sistema](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c479e1b93f3c34c506272c9/html5/thumbnails/12.jpg)
CONSIDERAÇÕES SOBRE A
ARQUITETURA
� Devido à necessidade de responder aos requisitos de
tempo feitos pelos diferentes estímulos/respostas, a
arquitetura do sistema deve permitir a comutação
rápida entre tratadores de estímulos.
� Requisitos de tempo de diferentes estímulos são
diferentes, assim, geralmente um loop sequencial
simples não é adequado.
� Portanto, sistemas de tempo real normalmente são
concebidos como processos cooperativos, com um
executivo de tempo real, controlando esses processos.
![Page 13: Campus Capivari Análise e Desenvolvimento de Sistemas (ADS ... · EMBUTIDO Sistemas embutidos geralmente executam continuamenteenãoparam. Interações com o ambiente do sistema](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c479e1b93f3c34c506272c9/html5/thumbnails/13.jpg)
PROCESSOS DE SENSORES E ATUADORES
![Page 14: Campus Capivari Análise e Desenvolvimento de Sistemas (ADS ... · EMBUTIDO Sistemas embutidos geralmente executam continuamenteenãoparam. Interações com o ambiente do sistema](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c479e1b93f3c34c506272c9/html5/thumbnails/14.jpg)
ELEMENTOS DO SISTEMA
� Controle de sensores
� Coletar informações dos sensores.
� Processador de dados
� Realiza o processamento das informações coletadas e
calcula a resposta do sistema.
� Controle de atuadores
� Gera sinais de controle para os atuadores.
![Page 15: Campus Capivari Análise e Desenvolvimento de Sistemas (ADS ... · EMBUTIDO Sistemas embutidos geralmente executam continuamenteenãoparam. Interações com o ambiente do sistema](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c479e1b93f3c34c506272c9/html5/thumbnails/15.jpg)
ATIVIDADES DO PROCESSO DE PROJETO
� Seleção da plataforma
� Identificação de estímulos/resposta
� Análise de timing
� Projeto de processo
� Projeto de algoritmo
� Projeto de dados
� Programação de processo
![Page 16: Campus Capivari Análise e Desenvolvimento de Sistemas (ADS ... · EMBUTIDO Sistemas embutidos geralmente executam continuamenteenãoparam. Interações com o ambiente do sistema](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c479e1b93f3c34c506272c9/html5/thumbnails/16.jpg)
COORDENAÇÃO DO PROCESSO
� Processos em um sistema de tempo real precisam ser
coordenados e compartilhar informações.
� Mecanismos de coordenação de processos garantem a
exclusão mútua dos recursos compartilhados.
� Quando um processo está modificando um recurso
compartilhado, outros processos não devem ser capazes de
mudar esse recurso.
� Ao projetar a troca de informações entre os processos, você
tem que levar em conta o fato de que esses processos podem
estar sendo executados em velocidades diferentes.
![Page 17: Campus Capivari Análise e Desenvolvimento de Sistemas (ADS ... · EMBUTIDO Sistemas embutidos geralmente executam continuamenteenãoparam. Interações com o ambiente do sistema](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c479e1b93f3c34c506272c9/html5/thumbnails/17.jpg)
PROCESSOS PRODUTOR/CONSUMIDOR
COMPARTILHANDO UM BUFFER CIRCULAR
![Page 18: Campus Capivari Análise e Desenvolvimento de Sistemas (ADS ... · EMBUTIDO Sistemas embutidos geralmente executam continuamenteenãoparam. Interações com o ambiente do sistema](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c479e1b93f3c34c506272c9/html5/thumbnails/18.jpg)
EXCLUSÃO MÚTUA
� Processos produtor coletam dados e adicionam
esses ao buffer. Processos consumidor pegam os
dados do buffer e disponibiliza os elementos.
� Processos produtor e consumidor devem ser
mutuamente excluídos do acesso ao mesmo
elemento.
![Page 19: Campus Capivari Análise e Desenvolvimento de Sistemas (ADS ... · EMBUTIDO Sistemas embutidos geralmente executam continuamenteenãoparam. Interações com o ambiente do sistema](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c479e1b93f3c34c506272c9/html5/thumbnails/19.jpg)
MODELAGEM DE SISTEMAS DE TEMPO
REAL
� O efeito de um estímulo em um sistema de tempo
real pode disparar uma transição de um estado
para outro.
� Portanto, os modelos de estado frequentemente
são usados para descrever sistemas de tempo
real embutidos.
� Diagramas de estado da UML podem ser usados
para mostrar os estados e as transições de estado
em um sistema de tempo real.
![Page 20: Campus Capivari Análise e Desenvolvimento de Sistemas (ADS ... · EMBUTIDO Sistemas embutidos geralmente executam continuamenteenãoparam. Interações com o ambiente do sistema](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c479e1b93f3c34c506272c9/html5/thumbnails/20.jpg)
MODELO DE ESTADO DE MÁQUINA DE UMA
BOMBA DE GASOLINA
![Page 21: Campus Capivari Análise e Desenvolvimento de Sistemas (ADS ... · EMBUTIDO Sistemas embutidos geralmente executam continuamenteenãoparam. Interações com o ambiente do sistema](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c479e1b93f3c34c506272c9/html5/thumbnails/21.jpg)
O PADRÃO ‘OBSERVAR’ E ‘REAGIR’
![Page 22: Campus Capivari Análise e Desenvolvimento de Sistemas (ADS ... · EMBUTIDO Sistemas embutidos geralmente executam continuamenteenãoparam. Interações com o ambiente do sistema](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c479e1b93f3c34c506272c9/html5/thumbnails/22.jpg)
ESTRUTURA DE PROCESSO ‘OBSERVAR E
REAGIR’
![Page 23: Campus Capivari Análise e Desenvolvimento de Sistemas (ADS ... · EMBUTIDO Sistemas embutidos geralmente executam continuamenteenãoparam. Interações com o ambiente do sistema](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c479e1b93f3c34c506272c9/html5/thumbnails/23.jpg)
ESTRUTURA DE PROCESSO DEUM SISTEMA DE
ALARME CONTRA ROUBO
![Page 24: Campus Capivari Análise e Desenvolvimento de Sistemas (ADS ... · EMBUTIDO Sistemas embutidos geralmente executam continuamenteenãoparam. Interações com o ambiente do sistema](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c479e1b93f3c34c506272c9/html5/thumbnails/24.jpg)
O PADRÃO ‘CONTROLE DE AMBIENTE’
![Page 25: Campus Capivari Análise e Desenvolvimento de Sistemas (ADS ... · EMBUTIDO Sistemas embutidos geralmente executam continuamenteenãoparam. Interações com o ambiente do sistema](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c479e1b93f3c34c506272c9/html5/thumbnails/25.jpg)
ESTRUTURA DE PROCESSO ‘CONTROLE DE
AMBIENTE’
![Page 26: Campus Capivari Análise e Desenvolvimento de Sistemas (ADS ... · EMBUTIDO Sistemas embutidos geralmente executam continuamenteenãoparam. Interações com o ambiente do sistema](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c479e1b93f3c34c506272c9/html5/thumbnails/26.jpg)
ARQUITETURA DE CONTROLE DE UM SISTEMA DE
FRENAGEM ANTIDERRAPANTE
![Page 27: Campus Capivari Análise e Desenvolvimento de Sistemas (ADS ... · EMBUTIDO Sistemas embutidos geralmente executam continuamenteenãoparam. Interações com o ambiente do sistema](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c479e1b93f3c34c506272c9/html5/thumbnails/27.jpg)
O PADRÃO PIPELINE DE PROCESSO
![Page 28: Campus Capivari Análise e Desenvolvimento de Sistemas (ADS ... · EMBUTIDO Sistemas embutidos geralmente executam continuamenteenãoparam. Interações com o ambiente do sistema](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c479e1b93f3c34c506272c9/html5/thumbnails/28.jpg)
ESTRUTURA DE PROCESSO DE PIPELINE DE
PROCESSO
![Page 29: Campus Capivari Análise e Desenvolvimento de Sistemas (ADS ... · EMBUTIDO Sistemas embutidos geralmente executam continuamenteenãoparam. Interações com o ambiente do sistema](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c479e1b93f3c34c506272c9/html5/thumbnails/29.jpg)
AQUISIÇÃO DADOS DE FLUXO DE
NÊUTRONS
![Page 30: Campus Capivari Análise e Desenvolvimento de Sistemas (ADS ... · EMBUTIDO Sistemas embutidos geralmente executam continuamenteenãoparam. Interações com o ambiente do sistema](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c479e1b93f3c34c506272c9/html5/thumbnails/30.jpg)
REQUISITOS DE TIMING PARA O SISTEMA DE
ALARME CONTRA ROUBO
![Page 31: Campus Capivari Análise e Desenvolvimento de Sistemas (ADS ... · EMBUTIDO Sistemas embutidos geralmente executam continuamenteenãoparam. Interações com o ambiente do sistema](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c479e1b93f3c34c506272c9/html5/thumbnails/31.jpg)
TIMING DO PROCESSOS DE ALARME
![Page 32: Campus Capivari Análise e Desenvolvimento de Sistemas (ADS ... · EMBUTIDO Sistemas embutidos geralmente executam continuamenteenãoparam. Interações com o ambiente do sistema](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c479e1b93f3c34c506272c9/html5/thumbnails/32.jpg)
COMPONENTES DO SISTEMA
OPERACIONAL
� Relógio de tempo real
� Fornece informações para o programação de processos.
� Tratador de interrupções
� Gerencia solicitações aperiódicas de serviço.
� Programador
� Escolhe o próximo processo a ser executado.
� Gerenciador de recursos
� Aloca memória e recursos de processador.
� Despachador
� Inicia a execução do processo.
![Page 33: Campus Capivari Análise e Desenvolvimento de Sistemas (ADS ... · EMBUTIDO Sistemas embutidos geralmente executam continuamenteenãoparam. Interações com o ambiente do sistema](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c479e1b93f3c34c506272c9/html5/thumbnails/33.jpg)
COMPONENTES NON-STOP DE SISTEMA
� Gerente de configuração
� Responsável pela reconfiguração dinâmica do sistema de
software e hardware. Os módulos do hardware podem ser
substituídos e o software atualizado sem parar os sistemas.
� Gerenciamento de falhas
� Responsável por detectar falhas de software e hardware e
tomar as ações apropriadas (por exemplo, a mudança para
discos de backup) para garantir que o sistema continue em
operação.
![Page 34: Campus Capivari Análise e Desenvolvimento de Sistemas (ADS ... · EMBUTIDO Sistemas embutidos geralmente executam continuamenteenãoparam. Interações com o ambiente do sistema](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c479e1b93f3c34c506272c9/html5/thumbnails/34.jpg)
COMPONENTES DE UM SISTEMA OPERACIONAL
DE TEMPO REAL
![Page 35: Campus Capivari Análise e Desenvolvimento de Sistemas (ADS ... · EMBUTIDO Sistemas embutidos geralmente executam continuamenteenãoparam. Interações com o ambiente do sistema](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c479e1b93f3c34c506272c9/html5/thumbnails/35.jpg)
PRIORIDADES DE PROCESSO
� Algumas vezes, o tratamento de alguns tipos de
estímulos, devem ter prioridade.
� Nível de prioridade de interrupção. Maior prioridade,
a qual é atribuída a processos que exigem uma
resposta muito rápida.
� Nível de prioridade de relógio. Alocados para
processos periódicos.
� Dentro dessas, podem ser atribuídos outros níveis de
prioridade.
![Page 36: Campus Capivari Análise e Desenvolvimento de Sistemas (ADS ... · EMBUTIDO Sistemas embutidos geralmente executam continuamenteenãoparam. Interações com o ambiente do sistema](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c479e1b93f3c34c506272c9/html5/thumbnails/36.jpg)
INTERRUPÇÃO DE SERVIÇO
� O controle é transferido automaticamente para uma
posição de memória pré-determinada.
� Esse local contém uma instrução para saltar para
uma rotina de serviço de interrupção.
� São desabilitadas outras interrupções, o tratamento
da interrupção e o controle retornam ao processo
interrompido.
� Serviços de rotina de interrupção DEVEM ser curtos,
simples e rápidos.
![Page 37: Campus Capivari Análise e Desenvolvimento de Sistemas (ADS ... · EMBUTIDO Sistemas embutidos geralmente executam continuamenteenãoparam. Interações com o ambiente do sistema](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c479e1b93f3c34c506272c9/html5/thumbnails/37.jpg)
TRATAMENTO PERIÓDICO DO PROCESSO
� Na maioria dos sistemas de tempo real, haverá várias
classes de processos periódicos, cada uma com
diferentes períodos (o tempo entre as execuções),
tempos de execução e deadlines (o tempo no qual o
processamento deve ser realizado).
� O relógio de tempo real pulsa periodicamente e cada
pulso provoca uma interrupção que programa o
gerente de processos para processos periódicos.
� O gerente de processos seleciona um processo que está
pronto para execução.
![Page 38: Campus Capivari Análise e Desenvolvimento de Sistemas (ADS ... · EMBUTIDO Sistemas embutidos geralmente executam continuamenteenãoparam. Interações com o ambiente do sistema](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c479e1b93f3c34c506272c9/html5/thumbnails/38.jpg)
GERENCIAMENTO DE PROCESSOS
� Preocupado com o gerenciamento do conjunto de
processos concorrentes.
� Processos periódicos são executados em intervalos pré
especificados.
� O RTOS usa o relógio de tempo real para determinar
quando executar um processo levando em
consideração:
� Período do processo - tempo entre as execuções.
� Deadline do processo - o tempo no qual o processamento
deve se completar.
![Page 39: Campus Capivari Análise e Desenvolvimento de Sistemas (ADS ... · EMBUTIDO Sistemas embutidos geralmente executam continuamenteenãoparam. Interações com o ambiente do sistema](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c479e1b93f3c34c506272c9/html5/thumbnails/39.jpg)
AÇÕES DE RTOS NECESSÁRIAS PARA INICIAR
UM PROCESSO
![Page 40: Campus Capivari Análise e Desenvolvimento de Sistemas (ADS ... · EMBUTIDO Sistemas embutidos geralmente executam continuamenteenãoparam. Interações com o ambiente do sistema](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c479e1b93f3c34c506272c9/html5/thumbnails/40.jpg)
MUDANÇAS DE PROCESSOS
� O responsável pela programação escolhe o próximo
processo a ser executado pelo processador. O que
depende de uma estratégia de programação que pode
levar em consideração as prioridades do processo .
� O gerenciador de recursos aloca memória e um
processador para o processo a ser executado.
� O despachador recebe o processo de uma lista pronta,
carrega em um processador e inicia a execução.
![Page 41: Campus Capivari Análise e Desenvolvimento de Sistemas (ADS ... · EMBUTIDO Sistemas embutidos geralmente executam continuamenteenãoparam. Interações com o ambiente do sistema](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c479e1b93f3c34c506272c9/html5/thumbnails/41.jpg)
ESTRATÉGIAS DE PROGRAMAÇÃO
� Programação não preemptiva
� Uma vez que um processo tenha sido programado para
execução, ele executa até a conclusão ou até que seja
bloqueado por algum motivo (por exemplo, à espera de E/S).
� Programação preemptiva
� A execução de um processo de execução pode ser interrompida
caso um processo de maior prioridade requeira serviços.
� Algoritmos de escalonamento
� Round-robin;
� Rate monotonic;
� Shortest deadline first, deadline mais curto em primeiro lugar.
![Page 42: Campus Capivari Análise e Desenvolvimento de Sistemas (ADS ... · EMBUTIDO Sistemas embutidos geralmente executam continuamenteenãoparam. Interações com o ambiente do sistema](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c479e1b93f3c34c506272c9/html5/thumbnails/42.jpg)
PONTOS IMPORTANTES
� Um sistema de software embutido é parte de um sistema de
hardware/software que reage a eventos do seu ambiente.
� O software está "embutido" no hardware. Normalmente os
sistemas embutidos são sistemas de tempo real.
� Um sistema em tempo real é um sistema de software que
deve responder a eventos em tempo real.
� A correção do sistema não depende apenas dos resultados
que esse produz, mas também do momento em que esses
resultados são produzidos.
![Page 43: Campus Capivari Análise e Desenvolvimento de Sistemas (ADS ... · EMBUTIDO Sistemas embutidos geralmente executam continuamenteenãoparam. Interações com o ambiente do sistema](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c479e1b93f3c34c506272c9/html5/thumbnails/43.jpg)
PONTOS IMPORTANTES
� Geralmente os sistemas de tempo real são implementados como um
conjunto de processos de comunicação que reagem a estímulos para
produzir respostas.
� Modelos de estado são uma importante representação de projeto para
sistemas embutidos de tempo real.
� São usados para mostrar como o sistema reage ao seu ambiente, na
medida em que eventos desencadeiam mudanças de estado no
sistema.
� Existem vários padrões de modelos os quais pode ser observados em
diferentes tipos de sistemas embutidos. Os quais incluem um padrão
para monitoração de ambiente do sistema para eventos adversos, um
padrão para controle de atuadores e um padrão de processamento de
dados.
![Page 44: Campus Capivari Análise e Desenvolvimento de Sistemas (ADS ... · EMBUTIDO Sistemas embutidos geralmente executam continuamenteenãoparam. Interações com o ambiente do sistema](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c479e1b93f3c34c506272c9/html5/thumbnails/44.jpg)
PONTOS IMPORTANTES
� Os projetistas de sistemas de tempo real precisam fazer
uma análise de timing, a qual é impulsionada pelos
deadlines para processar e responder a estímulos.
� Eles precisam decidir quantas vezes cada processo do
sistema deve ser executado, o tempo esperado e o pior caso
de tempo de execução de processos.
� Um sistema operacional de tempo real é responsável pelo
gerenciamento de processos e recursos. Ele sempre inclui
um programador, que é o componente responsável por
decidir qual processo deve ser programado para execução.
![Page 45: Campus Capivari Análise e Desenvolvimento de Sistemas (ADS ... · EMBUTIDO Sistemas embutidos geralmente executam continuamenteenãoparam. Interações com o ambiente do sistema](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c479e1b93f3c34c506272c9/html5/thumbnails/45.jpg)
REFERÊNCIAS BIBLIOGRÁFICAS
SOMMERVILLE, Ian. Engenharia de Software; traduçãoIvan Bosnic e Kalinka G. de O. Gonçalves; revisão técnicaKechi Hirama. 9ª Ed. – São Paulo: Pearson Prentice Hall,2011.
***Agradecimentos a Editora Pearson Prentice Hall, pelosmateriais disponíveis aos professores, gentilmente cedidos.
![Page 46: Campus Capivari Análise e Desenvolvimento de Sistemas (ADS ... · EMBUTIDO Sistemas embutidos geralmente executam continuamenteenãoparam. Interações com o ambiente do sistema](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c479e1b93f3c34c506272c9/html5/thumbnails/46.jpg)
DÚVIDAS? PERGUNTAS? ANGÚSTIAS? AFLIÇÕES?
![Page 47: Campus Capivari Análise e Desenvolvimento de Sistemas (ADS ... · EMBUTIDO Sistemas embutidos geralmente executam continuamenteenãoparam. Interações com o ambiente do sistema](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c479e1b93f3c34c506272c9/html5/thumbnails/47.jpg)
Prof. André Luís Belini
E-mail: [email protected] /
Blog: http://profandreluisbelini.wordpress.com/
Página: www.profandreluisbelini.com.br