Buscar

teorico (2)

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 24 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 24 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 24 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Sistemas de Tempo Real
Material Teórico
Responsável pelo Conteúdo:
Prof. Dr. Cléber Silva Ferreira da Luz
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.
 · 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.
OBJETIVO DE APRENDIZADO
Defi nição de Conceitos Básicos e da Importância De 
Sistemas Computacionais para aplicações 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:
Assim:
Organize seus estudos de maneira que passem a fazer parte 
da sua rotina. Por exemplo, você poderá determinar um dia e 
horário fixos como seu “momento do estudo”;
Procure se alimentar e se hidratar quando for estudar; lembre-se de que uma 
alimentação saudável pode proporcionar melhor aproveitamento 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.
Organize seus estudos de maneira que passem a fazer parte 
Mantenha o foco! 
Evite se distrair com 
as redes sociais.
Mantenha o foco! 
Evite se distrair com 
as redes sociais.
Determine um 
horário fixo 
para estudar.
Aproveite as 
indicações 
de Material 
Complementar.
Procure se alimentar e se hidratar quando for estudar; lembre-se de que uma 
Não se esqueça 
de se alimentar 
e de se manter 
hidratado.
Aproveite as 
Conserve seu 
material e local de 
estudos sempre 
organizados.
Procure manter 
contato com seus 
colegas e tutores 
para trocar ideias! 
Isso amplia a 
aprendizagem.
Seja original! 
Nunca plagie 
trabalhos.
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. 
Na Sociedade da Informação, o termo tempo real se refere ao tempo em que 
uma decisão foi tomada, isto é, analisar a informação e, logo em seguida, tomar 
uma decisão. 
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? 
Esse paradigma está presente a todo o momento, na vida do ser humano.
Atualmente, a Tecnologia se tornou uma grande aliada da informação e possibilita 
armazenar, analisar e disponibilizar informações. 
Além disso, Sistemas Computacionais são responsáveis por realizar diversas 
atividades importantes na Sociedade. É possível dizer que vivemos numa Sociedade 
informatizada em que os Sistemas Computacionais são essenciais para realizar 
diversas atividades que, que muitas vezes, têm restrições temporais, isto é, as 
atividades devem ser realizadas num determinado intervalo de tempo. 
Existem Sistemas Computacionais que são responsáveis por realizar atividades 
temporais de extrema cautela, nas quais a ocorrência de uma falha pode resultar 
em danos irreversíveis.
Habitualmente, o tempo é um fator crítico nessa categoria de Sistemas Com-
putacionais. As tarefas realizadas pelo Sistema Computacional precisam ser rea-
lizadas num intervalo de tempo definido; caso as tarefas não ocorram dentro do 
intervalo de tempo determinado, resultará numa falha no Sistema.
Podem ocorrer falhas toleradas, ou irreversíveis. As falhas toleradas são 
falhas que, caso ocorram, os resultados são aceitáveis, isto é, os danos não são de 
extrema preocupação. Já as falhas irreversíveis são falhas que podem trazer danos 
irreversíveis, até mesmo fatais. 
Um Sistema Computacional se preocupa em realizar e concluir tarefas. Todavia, 
quando o Sistema Computacional se preocupa em concluir a tarefa e também, com 
o tempo da conclusão da tarefa, ele é classificado como Sistema de Tempo Real [2].
8
9
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.
Um Sistema de Tempo Real responde a requisições pré-determinadas, nas quais 
a velocidade da resposta tende a ser muita rápida. 
O tempo de resposta a uma requisição do Sistema é chamado de prazo, isto é, 
toda tarefa realizada pelo Sistema tem de ser cumprida num prazo de tempo. 
O termo “perda de prazo” corresponde a um não cumprimento de uma tarefa 
dentro de um intervalo de tempo determinado. 
A perda de um prazo corresponde a uma falha do Sistema [1]. Em outras palavras, 
um Sistema de Tempo Real é um Sistema que realiza diversas tarefas em prazos de 
tempo, e o não comprimento das tarefas num prazo é uma falha do Sistema.
Habitualmente, um Sistema de Tempo Real interage com o seu ambiente. O Sis-
tema responde a estímulos do ambiente externo, isto é, o ambiente ao seu redor re-
aliza um estímulo e o Sistema responde a esse estímulo em um determinado prazo. 
Um Sistema de Tempo Real é caracterizado como um Sistema previsível, isto é, 
um Sistema que conhece todas as ações que irão acontecer e é capaz de antecipar 
as suas ações. 
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]. 
Num Sistema de Tempo Real, frequentemente, o processamento é especializado 
e curto. O Sistema obtém um estímulo e o responde logo em seguida, isto é, a 
tarefa correspondente ao estímulo deve ser executada no prazo definido. 
Em Sistemas com essas características, há forte tendência em executar as tarefas 
em paralelo, estabelecendo uma política de prioridade entre tais atividades. 
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].
Algumas definições de Sistemas de Tempo Real podem ser encontradas na 
Literatura, como as propostas por Young (1982) e Randell (1995). 
Na definição proposta por Young (1982), um Sistema de Tempo Real é “Um 
Sistema que gera uma saída em um determinado tempo para uma entrada externa 
ao Sistema”. 
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
UNIDADE Definição de Conceitos Básicos e da Importância 
De Sistemas Computacionais para aplicações Tempo Real
Segundo Martins[6], um Sistema de Tempo Real é um Sistema que recebe dados, 
analisa e executa uma ação ou retorna um resultado rapidamente, e a sua ação 
afeta o funcionamento do ambiente naquele momento [6] .
A IEEE também tem uma definiçãode Sistemas de Tempo Reais. Segundo a 
IEEE, um Sistema de Tempo Real é aquele em que o resultado computacional 
pode ser usado para controlar, monitorar ou responder a um evento externo num 
determinado intervalo de tempo. 
Sugiram muitas outras definições de Sistemas de Tempo Real. Todavia, a definição 
feita por Laplante [7] está mais adequada para os Sistemas de tempo real da atualidade. 
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].
Muitas vezes, um Sistema de Tempo Real é projetado utilizando ferramentas 
convencionais de verificação e desenvolvimento. 
As Tecnologias e as Ferramentas utilizadas na projeção e no desenvolvimento de 
um Sistema de Tempo Real variam de acordo com o seu propósito. 
No desenvolvimento dessa classe de Sistema, é possível utilizar Linguagens de 
Programação de alto e baixo nível. Por exemplo, muitos Sistemas de Tempo Real 
são implementados em chips, na forma de Sistemas embarcados. 
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. 
Habitualmente, no desenvolvimento de um Sistema de Tempo Real, são utilizados 
diversos algoritmos determinísticos, isto é, algoritmos que fornecem sempre uma 
resposta certa e confiável. 
A utilização de algoritmos determinísticos se faz necessária pelo fator da “tomada 
de decisão”. A decisão que o Sistema deve tomar deve ser a mais adequada e certa 
possível e, também, no menor tempo possível. 
No desenvolvimento de Sistema de Tempo Real, as maiores preocupações 
consistem em fornecer a resposta certa no menor tempo possível. 
Vale ressaltar que o tempo é estritamente relacionado ao problema em questão. 
Por exemplo, um Sistema de controle aéreo deve fornecer uma resposta em frações 
de milésimos de segundos. Por outro lado, um Sistema de previsão de tempo, por 
exemplo, pode fornecer uma resposta em frações de segundos. 
Dessa forma, ao se escolher a Tecnologia de Desenvolvimento do Sistema, de-
ve-se observar a característica do problema. Por exemplo, a Linguagem C é mais 
rápida que a Linguagem Java. Dessa forma, para o Sistema de Controle Aéreo, 
por exemplo, a Linguagem C é mais indicada do que a Linguagem Java. 
10
11
Figura 1 – Implementação de um Sistema de Tempo Real em chips
Fonte: iStock/Getty Images
Habitualmente, um Sistema de Tempo Real realiza atividades repetidas com um 
intervalo de tempo definido. O aspecto mais importante num Sistema de Tempo 
Real é o fato de as atividades serem deterministas, isto é, as atividades devem 
sempre ter o mesmo resultado. 
Um Sistema Computacional é caracterizado como um Sistema de Tempo Real 
se a dimensão de erro de tempo no intervalo da realização de uma tarefa é pré-
definida, podendo ser sempre repetida. Esse aspecto mede o quanto o erro varia, 
isto é, tratando-se do jitter [7].
Um jitter é definido como uma variação do comportamento inesperado, relacio-
nado a algum período de tempo. Em um Sistema de Tempo Real, um jitter pode 
ser causado por vários motivos. Em um Sistema de Tempo Real,ele pode ser um 
comportamento inesperado do Sistema, durante a realização de uma atividade [7].
Um Sistema de Tempo Real é usado quando há necessidade de realizar tarefas 
na quais o tempo é uma questão importante. 
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. 
Habitualmente, um Sistema de Tempo Real tem a característica de “controlar”, 
“monitorar”. 
Boa parte dos Sistemas de Tempo Real são projetados para monitorar determi-
nados eventos. 
É normal um Sistema de Tempo Real ter sensores que recebem estímulos do 
ambiente externo, analisam e, logo em seguida, realiza uma ação.
A Figura 2 ilustra esses procedimentos. 
11
UNIDADE Definição de Conceitos Básicos e da Importância 
De Sistemas Computacionais para aplicações Tempo Real
Sensores Sensores Sensores Sensores
AçãoAçãoAçãoAção
Sistema de tempo real
Figura 2 – Sistema 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.
Um Sistema de Controle Aéreo é um exemplo de Sistemas de tempo real. Ele 
monitora e gerencia todos os voos realizados no Aeroporto. Por sua vez, um Sis-
tema de Controle Ferroviário é responsável por monitorar todos os trens de uma 
Rede de Ferrovia e, também, é um exemplo de Sistema de Tempo Real. 
Figura 3 – Exemplo de Sistema de Tempo Real: Sistema de Controle Aéreo
Fonte: Wikimedia Commons
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
13
Figura 4 – Exemplo de Sistema de Tempo Real: Sistema de Controle Ferroviário
Fonte: iStock/Getty Images
Sistemas de Tempo Real estão presentes até mesmo no campo de Inteligência. 
Por exemplo, um Sistema de Tempo Real pode ser implementado num robô que 
recebe determinados estímulos do seu ambiente externo e os responde com deter-
minadas ações.
Figura 5 – Exemplo de Sistema de Tempo Real: Sistema Computacional de um robô
Fonte: iStock/Getty Images
Outro exemplo de Sistema de Tempo Real é o Sistema de Controle de Frequ-
ência de Batimentos Cardíacos. Imagine que um paciente está internado na UTI e 
o caso clínico dele é grave. De repente, a frequência do batimento cardíaco do pa-
ciente começa cair. O Sistema de Controle de Frequência de Batimento Cardíaco 
deve gerar um alerta imediatamente. 
Figura 6 – Exemplo de Sistema de Tempo Real
Fonte: iStock/Getty Images
13
UNIDADE Definição de Conceitos Básicos e da Importância 
De Sistemas Computacionais para aplicações Tempo Real
O desenvolvimento de um Sistema de Tempo Real é multidisciplinar; envolve 
diversas áreas da Computação e da Engenharia. 
A Figura 7 ilustra a natureza interdisciplinar envolvida no desenvolvimento de 
um Sistema de Tempo Real.
Sistemas de
Tempo Real
Linguagens de 
Programação
Teoria de
Controle
Estruturas
de Dados
Arquitetura de
Computadores Algoritmos
Teoria de
Escalonamento
Sistemas
Operacionais
Engenharia
de Software
Figura 7 – Ilustração dos conceitos interdisciplinares envolvidos em Sistemas de tempo real
Sistemas de Tempo Real Crítico e Não Crítico
Os Sistemas de Tempo Real podem ser classificados a partir do ponto de vista 
de segurança (Safety). Considerando o ponto de vista de segurança, os Sistemas 
de Tempo Real podem ser classificados em: 
• Críticos;
• Não críticos.
Os Sistemas de Tempo Real Críticos também são chamados de Sistemas de 
Tempo Real Rígidos. Sistemas de Tempo Real com essa classificação devem obe-
decer ao intervalo de tempo para a realização da tarefa, isto é, não pode haver 
perda de prazo na realização de uma tarefa. 
O termo crítico é imprecado no sentido de que o Sistema não pode apresentar 
falhas, ou seja, todas as tarefas devem ser realizadas no prazo determinado. 
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.
Imagine um avião prestes a realizar o seu pouso: o piloto aciona o Sistema de 
trem pouso, mas ele não abre atempo do pouso; isso pode resultar em milhares 
de mortes. 
14
15
Figura 8 – Exemplo de Sistema de Tempo Real crítico
Fonte: Wikimedia Commons
Um Sistema de Tempo Real crítico possui a característica de ser ultraconfiável. 
Caso ocorram falhas, o Sistema deve corrigi-las em frações de milissegundos, 
senão, pessoas podem se machucar.
Os Sistemas de tempo real críticos podem ser subdivididos em:
• Seguro caso de falha (fail safe);
• Operacional em caso de falha (fail operational).
Um Sistema é classificado como Seguro Caso de Falha se uma falha ocorrer 
e ele conseguir atingir um ou mais estados seguros. Por exemplo, considere uma 
linha ferroviária: caso aconteça uma falha no Sistema ferroviário, é possível fazer 
uma parada obrigatória. 
Um Sistema de Tempo Real pode ser classificado como Operacional em Caso 
de Falha se, na presença de falhas parciais, o Sistema puder se degradar fornecen-
do alguma forma de serviço mínimo. Por exemplo, considere o Sistema de controle 
aéreo: caso ocorra alguma falha, o Sistema consegue se degradar e fornece algum 
tipo de serviço mínimo. 
Figura 8 – Exemplo de Sistema de Tempo Real não crítico
Fonte: Wikimedia Commons
15
UNIDADE Definição de Conceitos Básicos e da Importância 
De Sistemas Computacionais para aplicações Tempo Real
Um Sistema de Tempo Real não crítico também é chamado de Sistema de 
Tempo Real Moderado. No Sistema de Tempo Real moderado, o tempo também 
é o fator mais importante; todavia, se ocorrerem falhas, elas são aceitáveis. Dessa 
forma, se o Sistema não cumprir a tarefa no prazo determinado, os danos não 
serão letais. Assim, é possível ter perda de prazo sem maiores resultados.
Habitualmente, o Sistema de Tempo Real moderado processa grande volume de 
dados, ao contrário do Sistema de Tempo Real crítico. 
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.
Classificação dos Sistemas de Tempo Real
Os Sistemas de tempo real são classificados em: 
• Hard Real-Time;
• Soft Real-Time;
• Real Real-Time;
• Firm Real-Time.
A classificação Hard Real-Time significa que o Sistema deve respeitar todos os 
prazos de forma absoluta, isto é, a perda de prazo não é tolerada. O Sistema deve 
respeitar todos os prazos de forma rigorosa.
Soft Real-Time significa que se o Sistema perder algum prazo final, 
ocasionalmente, será tolerável. Nesse caso, é tolerado que o Sistema termine a 
atividade num prazo maior do que o definido. 
Os Sistemas classificados como Real Real-Time são Sistemas Hard Real-
Time, que possuem prazos de respostas extremamente curtos. 
Na classificação Firm Real-Time estão os Soft Real-Time que não possuem 
benefícios de entrega de serviço sem atraso. 
Na Literatura, há autores que ainda classificam os Sistemas de Tempo Real 
considerando suas implementações. Essas classificações correspondem a:
• Sistema de Resposta Garantida ( Guaranteed Response System);
• Sistema de melhor Esforço (Best Effort System). 
16
17
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. 
Já a classificação “Melhor Esforço” é aplicada a Sistemas que possuem estratégia 
de alocação dinâmica de recurso que se baseia em estudos probabilísticos sobre a 
carga de trabalho esperada. Nessa classificação, as falhas são aceitáveis. 
Atualmente, o desenvolvimento de um Sistema de Tempo Real considera o 
contexto em que irá atuar. Por exemplo, os Sistemas de tempo real não críticos são 
desenvolvidos utilizando o paradigma de “Melhor Esforço” e os Sistemas de tempo 
real críticos são desenvolvidos utilizando o paradigma de “Resposta Garantida”. 
Classifi cação de Eventos
Os eventos que o Sistema de Tempo Real pode responder são classificados como:
• Eventos periódicos;
• Eventos aperiódicos. 
Os eventos periódicos ocorrem num intervalo de tempo regular, isto é, num 
intervalo regular. O Sistema recebe estímulos do seu ambiente externo e os responde 
no prazo de tempo determinado. 
Os eventos aperiódicos ocorrem de maneira imprevisível, isto é, não há 
intervalo de tempo regular para os eventos ocorrerem. A ocorrência dos eventos é 
totalmente incerta. 
Um Sistema de Tempo Real pode responder a múltiplos fluxos de eventos 
periódicos. É possível calcular quantos eventos periódicos o Sistema pode atender 
num intervalo de tempo definido. 
Com esse cálculo, é possível dizer se o Sistema consegue manipular todos os 
eventos ou não. Por exemplo, se houver m eventos periódicos e o evento i ocorre 
com o período Pi e requer Ci segundos para responder o evento, então, o Sistema 
só pode gerenciar todos os eventos se:
Se o Sistema satisfizer esse critério, ele é classificado como um Sistema de 
Tempo Real agendável.
Para melhorar o entendimento, vamos utilizar um exemplo. Considere um 
Sistema de Tempo Real Soft Real-Time com três eventos periódicos, com períodos 
de 100, 200 e 500ms, respectivamente. 
17
UNIDADE Definição de Conceitos Básicos e da Importância 
De Sistemas Computacionais para aplicações Tempo Real
Se esses eventos exigirem 50, 30 e 100ms de tempo para serem processados, 
respectivamente, o Sistema será agendável porque 0,5 + 0,15 + 0,2 < 1. 
Se um quarto evento com um período de 1ms for adicionado, o Sistema per-
manecerá agendável, contanto que esse evento não precise de mais de 150ms de 
tempo de processamento por ocorrência.
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. 
Como mencionado na Seção 1.1, no desenvolvimento de um Sistema de Tem-
po Real, normalmente, são utilizados algoritmos determinísticos: algoritmos que 
sempre fornecem as respostas corretas, para que a confiança no Sistema seja alta. 
Na fase de projeção do Sistema, deve-se realizar o mapeamento de todas as 
falhas possíveis e realizar um plano de contingência caso elas ocorram. 
Habitualmente, um Sistema de Tempo Real é um Sistema de alta disponibili-
dade. Se uma falha for tão grave a ponto derrubar o Sistema, deve-se pensar em 
utilizar um plano de Redundância. 
Redundância é a forma mais confiável e simples de manter um Sistema com alta 
disponibilidade. Por exemplo, continuando com o Sistema de Controle Aéreo, é 
comum que esse Sistema seja executado em dois computadores diferentes: o com-
putador A e o computador B. Caso ocorra uma falha no computador A, o controle 
aéreo é automática e rapidamente transferido para o Sistema que está sendo exe-
cutado no computador B.
Existem duas formas de redundância: a temporal e a espacial. A redundância 
temporal é quando a falha ocorre e logo em seguida é tomada uma ação corretiva. 
Por exemplo, caso a falha ocorra, a atividade é repetida.
Esse tipo de redundância é menos aplicada em Sistemas de tempo real críticos, 
porque a repetição da ação irá violar a restrição do tempo, ou seja, haverá perda 
de prazo. 
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. 
Nesse sentido, a probabilidade de perdade prazo é pequena, porque o outro 
recurso irá continuar a tarefa no ponto em que o recurso anterior parou.
18
19
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. 
Com o modelo de falhas pronto, o próximo passo é determinar uma ação de 
contingência para cada falha, caso elas ocorram. É 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. 
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. 
Para realizar um bom modelo de falhas, é necessário definir todas as hipóteses 
de tipo de falhas possíveis que podem acontecer durante a execução do Sistema. 
A construção do modelo de falha é essencial para que os mecanismos de tole-
rância às falhas possam ser testados e validados. Quando o mapeamento for rea-
lizado, devem ser implementado de forma mais precisa possível, para permitir a 
implementação dos mecanismos de tolerância às falhas, isto é, o mapeamento das 
falhas deve ser feito o mais claro possível para permitir um mecanismo de tolerân-
cia à falha mais seguro e confiável. 
Na teoria, as falhas não mapeadas não devem ocorrer. Todavia, caso ocorram, 
serão eventos raros.
Conclusões e Resumo da Unidade
Sistemas de Tempo Real são Sistemas voltados para aplicações nas quais a 
confiabilidade é de extrema importância. O Sistema deve fornecer uma saída total-
mente correta, e não deve falhar. 
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
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 é caracterizado por ser previsível, um Sistema que 
conhece todas as ações que irão acontecer, e é capaz de antecipar as suas ações. 
Habitualmente, um Sistema de Tempo Real recebe um estímulo do seu ambiente 
externo, analisa e gera uma saída, isto é, uma ação. 
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. 
Também é possível classificar os Sistemas de Tempo Real considerando o tempo 
de resposta de uma atividade. 
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. 
A classificação Soft Real-Time significa que a perda de algum prazo final, 
ocasionalmente, é tolerável. 
Os Sistemas classificados como Real Real-Time são Sistemas Hard Real-Time, 
que possuem prazos de respostas extremamente curtos.
Na classificação Firm Real-Time estão os Soft Real-Time, que não possuem 
benefícios de entrega de serviço sem atraso. 
Um Sistema de Tempo Real pode, ainda, ser classificado considerando suas 
implementações. 
Um Sistema de Tempo Real pode ser classificado como Sistema de Respos-
ta Garantida (Guaranteed Response System) e Sistema de Melhor Esforço (Best 
Effort System). 
Um Sistema de Tempo Real se encaixa na classificação “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. 
Já a classificação “Melhor Esforço” é aplicada aos Sistemas que possuem uma 
estratégia de alocação dinâmica de recurso que se baseia em estudos probabilísticos 
sobre a carga de trabalho esperada. Nessa classificação, as falhas são aceitáveis.
Um Sistema de Tempo Real sempre responde a um evento do seu ambiente. 
Um evento pode ser classificado como periódico ou aperiódico. 
20
21
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.
Um Sistema de Tempo Real deve possuir grande confiabilidade, isto é, o 
Sistema deve ser totalmente confiável; todas as atividades realizadas por ele devem 
ocorrer de forma rigorosa. 
O Sistema deve conter vários mecanismos de tolerância às falhas. Um mecanis-
mo simples e eficaz de tolerância às falhas é a redundância. 
Existem duas formas de redundância, a temporal e a espacial. A redundância 
temporal é quando a falha ocorre e logo em seguida é tomada uma ação corretiva. 
Por exemplo, a repetição da ação. 
Já na redundância espacial, uma mesma ação crítica é executada por vários 
recursos 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 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.
Na fase de projeção de um Sistema de Tempo Real, deve-se mapear todas as 
falhas possíveis, ou seja, realizar um Modelo de Falhas. Com o modelo de falhas 
pronto, o próximo passo é determinar uma ação de contingência para cada falha, 
caso elas ocorram. 
É 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. 
Na sociedade, eventos que necessitam de uma resposta rápida ocorrem a todos 
os momentos e em todas as áreas. Há casos em que, se esses eventos não obti-
verem uma resposta rápida e eficaz, danos irreversíveis e fatais podem ocorrer, e 
também há casos em que o não recebimento de uma resposta não é tão crucial. 
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. 
Sistemas Computacionais de Tempo Real estão presentes no Campo Aéreo, 
Ferroviário, Industrial, Alimentício, Bancário e Hospitalar, entre outros. 
É 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.
Em suma, Sistemas Computacionais são de extrema importância para controlar 
eventos de Tempo Real. 
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
23
Referências
[1] ALMEIDA, M. B. de. Implementando Sistemas operacionais de tempo realem 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] CEDE NO, 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

Continue navegando