Unidade 1 Sistemas em Tempo Real
Unidade 1 Sistemas em Tempo Real
Unidade 1 Sistemas em Tempo Real
Material Teórico
Definição de Conceitos Básicos e da Importância de
Sistemas Computacionais para aplicações Tempo Real
Revisão Textual:
Prof.ª Dr.ª Selma Aparecida Cesarin
Definição de Conceitos Básicos e da Importância De
Sistemas Computacionais para aplicações Tempo Real
• Introdução;
• Sistemas de Tempo Real Crítico e Não Crítico;
• Classificação dos Sistemas de Tempo Real;
• Classificação de Eventos;
• Confiabilidade;
• Tolerância e Falhas;
• Conclusões e Resumo da Unidade.
OBJETIVO DE APRENDIZADO
· Apresentar a definição, os conceitos e a classificação de Sistemas de
Tempo Real;
· Apresentar a importância de Sistemas Computacionais de Tempo Real.
Orientações de estudo
Para que o conteúdo desta Disciplina seja bem
aproveitado e haja maior aplicabilidade na sua
formação acadêmica e atuação profissional, siga
algumas recomendações básicas:
Conserve seu
material e local de
estudos sempre
organizados.
Aproveite as
Procure manter indicações
contato com seus de Material
colegas e tutores Complementar.
para trocar ideias!
Determine um Isso amplia a
horário fixo aprendizagem.
para estudar.
Mantenha o foco!
Evite se distrair com
as redes sociais.
Seja original!
Nunca plagie
trabalhos.
Não se esqueça
de se alimentar
Assim: e de se manter
Organize seus estudos de maneira que passem a fazer parte hidratado.
da sua rotina. Por exemplo, você poderá determinar um dia e
horário fixos como seu “momento do estudo”;
No material de cada Unidade, há leituras indicadas e, entre elas, artigos científicos, livros, vídeos
e sites para aprofundar os conhecimentos adquiridos ao longo da Unidade. Além disso, você
também encontrará sugestões de conteúdo extra no item Material Complementar, que ampliarão
sua interpretação e auxiliarão no pleno entendimento dos temas abordados;
Após o contato com o conteúdo proposto, participe dos debates mediados em fóruns de discus-
são, pois irão auxiliar a verificar o quanto você absorveu de conhecimento, além de propiciar o
contato com seus colegas e tutores, o que se apresenta como rico espaço de troca de ideias e
de aprendizagem.
UNIDADE Definição de Conceitos Básicos e da Importância
De Sistemas Computacionais para aplicações Tempo Real
Introdução
Vivemos numa era em que a informação é valiosa e, diariamente, milhares de
informações estão disponíveis a cada segundo.
A informação ajuda na tomada de decisões, que muitas vezes não precisam ser
tomadas rápido e que podem possuir impactos imensuráveis.
Dessa forma, pode-se dizer que a informação está associada à decisão e ao tem-
po. Todavia, há um paradigma na Sociedade da Informação, que envolve informa-
ção, decisão e tempo.
As decisões precisam ser tomadas o mais rápido possível, isto é, quanto me-
nos tempo possível para tomar uma decisão, melhor. Todavia, como analisar uma
quantidade imensa de informação e tomar uma decisão em pouco tempo?
8
Em um Sistema de Tempo Real, o fator tempo é muito importante. O Sistema
deve responder a determinadas requisições numa pequena fração de tempo.
Para isso, o desenvolvimento de um Sistema de Tempo Real deve ser muito bem
feito. No desenvolvimento do Sistema, deve-se especificar todas as ações que ele
terá de tomar em situações adversas [3].
Nesse cenário, uma tarefa com prioridade maior pode interromper o processa-
mento de outra tarefa, com prioridade menor. Quando as tarefas são executadas
em paralelo, é necessário implementar uma sincronização entre elas[4].
Outra definição é proposta por Randell (1995) e diz que “Um Sistema de
Tempo Real é um Sistema que responde a um estímulo do seu ambiente em um
determinado intervalo de tempo”.
9
9
UNIDADE Definição de Conceitos Básicos e da Importância
De Sistemas Computacionais para aplicações Tempo Real
Segundo Laplante, “Um Sistema de Tempo Real é aquele que deve satisfazer
explicitamente restrições de tempo de resposta, podendo ter consequências de
riscos ou falhas, não satisfazendo suas restrições”[7].
Nesse cenário, são utilizadas Linguagens de baixo nível, tais como Assembly e
C. Por outro lado, o desenvolvimento de um Sistema de Tempo de Real de previ-
são de tempo, por exemplo, é desenvolvido utilizando Linguagens de alto nível, tais
como Java e C#, entre outras.
10
Figura 1 – Implementação de um Sistema de Tempo Real em chips
Fonte: iStock/Getty Images
Alguns exemplos de Sistemas de Tempo Real são: Sistemas que controlam Ex-
perimentos Científicos; Sistemas de Processamento de Imagens Médicas; Sistemas
de Controle Ferroviário, Sistemas de Controle de Fluxo de Carros; Sistemas de
Controle Industrial e Sistema de Controle Marítimo, entre outros.
Boa parte dos Sistemas de Tempo Real são projetados para monitorar determi-
nados eventos.
11
11
UNIDADE Definição de Conceitos Básicos e da Importância
De Sistemas Computacionais para aplicações Tempo Real
Sistemas de Tempo Real estão presentes em várias Áreas, em nosso dia a dia.
A seguir, são apresentados alguns exemplos desse tipo de Sistemas.
Outro exemplo de Sistema de Tempo Real que está presente em nosso coti-
diano é o Sistema de Controle Ferroviário. Tanto no cenário de controle aéreo,
quanto no cenário de controle ferroviário, o Sistema deve fornecer uma resposta
totalmente confiável.
Caso o Sistema forneça uma resposta errada ou, ainda, o Sistema apresentar
uma falha, pode impactar em resultados irreversíveis, ou até mesmo fatais, pois
vidas estarão em jogo.
12
Figura 4 – Exemplo de Sistema de Tempo Real: Sistema de Controle Ferroviário
Fonte: iStock/Getty Images
13
13
UNIDADE Definição de Conceitos Básicos e da Importância
De Sistemas Computacionais para aplicações Tempo Real
Arquitetura de
Algoritmos
Computadores Sistemas de
Tempo Real
Engenharia Teoria de
de Software Escalonamento
Sistemas
Operacionais
O não cumprimento dos prazos pode gerar resultados fatais. Por exemplo, o
Sistema de freios de um trem não pode falhar; caso falhe, isso pode resultar num
grave acidente. Podemos imaginar outros exemplos mais trágicos.
14
Figura 8 – Exemplo de Sistema de Tempo Real crítico
Fonte: Wikimedia Commons
15
15
UNIDADE Definição de Conceitos Básicos e da Importância
De Sistemas Computacionais para aplicações Tempo Real
Os Sistemas de tempo real críticos são inflexíveis; o prazo não pode ser ultrapassa-
do. Ao contrário, os Sistemas de tempo real não críticos oferecem alguma flexibilidade
no não cumprimento de um prazo. Como exemplo de um Sistema de Tempo Real
moderado, podemos mencionar um aparelho de leitor de DVD de um Computador.
O Sistema recebe um estímulo do seu ambiente, isto é, recebe uma ação para
abrir a bandeja e o usuário colocar o DVD, mas, o Sistema não responde ao even-
to no prazo de tempo adéqua; nesse caso, essa falha é aceitável, pois não houve
danos irreversíveis.
16
Um Sistema de Tempo Real é classificado como Sistema de “Resposta Garantida”
quando, no Sistema, existem recursos suficientes para suportar a carga de trabalho
e, também, todos os cenários de falhas são definidos.
Classificação de Eventos
Os eventos que o Sistema de Tempo Real pode responder são classificados como:
• Eventos periódicos;
• Eventos aperiódicos.
17
17
UNIDADE Definição de Conceitos Básicos e da Importância
De Sistemas Computacionais para aplicações Tempo Real
Confiabilidade
Um Sistema de Tempo Real é caracterizado como um Sistema totalmente
confiável. O termo confiabilidade caracteriza um Sistema de tempo real.
Suas respostas devem ser totalmente corretas e o Sistema nunca deve apresen-
tar falhas. Se ocorrerem falhas, o Sistema deve então, identificá-las e as corrigir.
Já na redundância espacial, uma mesma ação crítica é executada por vários re-
cursos replicados, isto é, caso a falha ocorra, a ação é continuada logo em seguida
por outros recursos. Nesse cenário, a falha pode ser mascarada, pois outro recurso
continuará a ação de onde ela parou.
18
Geralmente, a redundância espacial é utilizada em Sistemas de tempo real críti-
cos. Essa redundância permite não gerar atrasos no tempo de resposta, isto é, não
há perda de prazo ao se implementar a redundância espacial.
Tolerância e Falhas
Um Sistema de Tempo Real deve ser totalmente tolerante a falhas. Como men-
cionado na seção anterior, o Sistema deve ser totalmente confiável e, também, na
fase de projeção, deve-se mapear todas as falhas possíveis, isto é, criar um Modelo
de Falhas.
O modelo de falhas deve ser elaborado cuidadosamente. Uma falha pode ocor-
rer por diversos motivos, tais como, falha no hardware, falha no software, falha
humana, falha do próprio Sistema por processar algum dado errado, enfim, são
diversas razões para ocorrer uma falha. Todavia, independentemente da origem da
falha, deve-se elaborar uma ação para todas as falhas possíveis.
Na teoria, as falhas não mapeadas não devem ocorrer. Todavia, caso ocorram,
serão eventos raros.
As tarefas devem ser realizadas num determinado período de tempo, que é cha-
mado de prazo. O não cumprimento de um prazo, isto é, se o Sistema não realizar
19
19
UNIDADE Definição de Conceitos Básicos e da Importância
De Sistemas Computacionais para aplicações Tempo Real
a tarefa num determinado prazo, é gerada uma falha. O termo “perda de prazo” se
refere a uma tarefa que não foi realizada no período de tempo estipulado.
Um Sistema de Tempo Real pode ser classificado como crítico e não crítico.
Um Sistema de Tempo Real crítico é caracterizado por não haver perda de pra-
zo. Caso haja perda de prazo, pode resultar em danos irreversíveis e fatais.
Já num Sistema de Tempo Real não crítico, a perda de tempo é tolerada, isto é,
caso alguma ação não seja tomada durante um intervalo de tempo, as consequên-
cias não serão tão severas.
Um Sistema de Tempo Real pode ser classificado como Hard Real-Time, Soft
Real-Time, Real Real-Time e Firm Real-Fime.
A classificação Hard Real-Time diz que o Sistema deve respeitar todos os prazos
de forma absoluta, isto é, a perda de prazo não é tolerada.
20
Um evento periódico ocorre um intervalo de tempo regular e um evento ape-
riódico ocorre de maneira inesperada, isto é, não há intervalo de tempo definido
para o evento ocorrer.
Nesse cenário, a falha pode ser mascarada, pois outro recurso continuará a
ação de onde ela havia parado. Nesse sentido, a probabilidade de perda de prazo
é muito pequena, porque o outro recurso irá continuar a tarefa no ponto em que
o recurso anterior parou.
É importante ressaltar que, na ação tomada, caso ocorra uma falha, deve-se
respeitar o prazo de resposta da ação original, isto é, caso ocorra uma falha, o
prazo não pode ser pedido.
Todavia, esses eventos sempre devem ser respondidos num intervalo de tempo
determinado. Sistemas Computacionais se mostraram grandes aliados no monitora-
mento e no controle desses eventos. Em nosso dia a dia, isto é facilmente percebido.
É possível dizer que muitos eventos críticos ou não críticos não poderiam ser
controlados sem o auxílio de Sistemas Computacionais.
21
21
UNIDADE Definição de Conceitos Básicos e da Importância
De Sistemas Computacionais para aplicações Tempo Real
Material Complementar
Indicações para saber mais sobre os assuntos abordados nesta Unidade:
Sites
Sistemas de Tempo Real – Parte 1
https://goo.gl/K29zuC/
Vídeos
Sistema em Tempo Real - SO
https://youtu.be/gaO9o-ZfMiU
Sistemas de tempo real
https://youtu.be/HTLZUCkdQbA
Leitura
Sistemas de Tempo Real
https://goo.gl/ZCsfnn
22
Referências
[1]
ALMEIDA, M. B. de. Implementando Sistemas operacionais de tempo real
em microcontroladores. Local: Amazon, ano. (eBook Kindle).
[2]
SHAW, A. C. Sistemas e Software de Tempo Real. Local: Bookman, 2003.
[3]
CAURIN, G. A. P. Análise de Sistemas operacionais de tempo real para
aplicações de robótica e automação. 2008. 154p. (Dissertação de mestrado)
– Departamento de Engenharia da Escola de Engenharia /Universidade de São
Paulo, São Paulo, 2008.
[4]
Farines, J. M., Fraga, J. S. e Oliveira, R. S. - Sistemas de Tempo Real.
Departamento de Automação e Sistemas. Universidade Federal de Santa
Catarina, Florianópolis, julho de 2000.
[5]
TANENBAUM, A. S. Sistemas Operacionais Modernos. 2.ed. São Paulo:
Pearson Prentice Hall, 2003.
[6]
MARTIN, T. Design of Real Time Systems. New Jersey: Prentice-Hall Inc., 2013.
[7]
CEDENO, W.; LAPLANTE, P. A. An overview of real-time operating systems,
Journal of the Association for Laboratoty Automation, Local, n.12, p. 40-
45, 2007.
23
23