Buscar

apresenta7^o sistemas operacionais de tempo real

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 16 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 16 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 16 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 Operacionais 
de Tempo Real 
Wellington Cássio 
Pâmela Raiane 
Jéssica Luiza 
Sebastião Realino 
Como Surgiu os RTOS ? 
• Os sistemas computacionais estão presentes em diversas áreas. 
 
• Novos microprocessadores com novos recursos computa-
cionais, operando a frequências maiores, maior capacidade de 
memória e várias interfaces de comunicação de I/O embutidas 
num único chip, tudo isso a um custo baixo e acessível. 
 
• A evolução tem contribuído com o aumento da complexidade 
dos projetos de sistemas embarcados, exigido novos níveis de 
abstração em soluções de software que possam interagir com 
o hardware da forma mais eficiente possível. 
 
• Destaca-se um grupo de sistemas que trabalham com 
restrições de tempo, chamados Sistemas de Tempo Real. 
O que é um RTOS ? 
 Um Sistema de Tempo Real é, portanto, o 
software que gerência os recursos de um sistema 
computacional, com o objetivo de garantir com 
que todos os eventos sejam atendidos dentro de 
suas restrições de tempo e gerenciados da forma 
mais eficiente possível. 
 O software é responsável pelo gerencia-
mento dos recursos computacionais também é 
chamado de Kernel do Sistema de Tempo Real e 
conhecido no mercado como RTOS ou Sistema 
Operacional de Tempo Real. 
Conceitos: 
 Para entendimento da importância de um 
Sistema de Tempo Real é precisamos entender 
alguns conceitos de restrição de tempo para 
eventos e tarefas computacionais. 
Os quais são: 
 
• Restrições de Tempo 
• Tarefas 
• Interações entre Tarefas 
• Escalonamento de tarefas 
 
 
 
Restrições de Tempo: 
 Toda tarefa computacional recebe um 
estímulo (ou evento), que pode ser interno ou 
externo, realiza o processamento e produz uma 
saída. Um evento com restrição de tempo possui 
um tempo limite (máximo) de processamento 
para que sua saída seja gerada. 
 
 
 
Restrições de Tempo: 
Exemplo 
(Hard Real-Time Systems): 
 Um sistema de radar 
aeroespacial, que recebe infor-
mações de posicionamento das 
aeronaves, para que possíveis 
colisões sejam detectadas e evi-
tadas. Se o sistema não tratar 
estas entradas dentro de suas 
restrições de tempo, poderá 
causar uma tragédia. Este caso é 
chamado de “Hard Real-Time 
Systems”. 
Hard Real-Time Systems: é aquele que 
tem um comportamento 
determinístico, ou seja, o prazo para 
execução de uma tarefa não pode ser 
violado. 
 
Soft Real-Time Systems: é aquele que 
também tem o tempo como 
parâmetro fundamental, mas uma 
falha é aceitável 
Exemplo 
(Soft Real-Time Systems): 
 Um teclado que gera 
inputs de teclas pressionadas 
para um sistema microproces-
sado. Se o sistema não tratar 
estas teclas dentro de suas 
restrições de tempo, o operador 
poderá ter a sensação de que o 
sistema “travou”, o que poderá 
causar até a desistência da uti-
lização do produto. Este caso é 
normalmente chamado de “Soft 
Real-Time Systems” 
Tarefas: 
 Tarefas são pequenos trechos de programa 
com responsabilidades específicas e bem 
definidas. 
 Cada tarefa possui um conjunto de atribu-
tos, dentre eles a prioridade, que deve ser 
atribuída de acordo com sua importância. 
 É a partir desta prioridade que tentamos 
garantir com que eventos com restrições de tempo 
possam ser executados de forma eficiente. 
Tarefas: 
 Exemplo: 
 
 Podemos citar como exemplo a leitura de 
sensores, tratamento de protocolos de comuni-
cação, leitura de teclado, acionamento de leds 
indicativos, escrita em displays, comunicações seri-
ais e log de informações. 
 
 Portanto, um Sistema de Tempo Real é 
modelado através da divisão da aplicação em um 
conjunto de pequenas tarefas, com funções 
específicas, e que interagem entre si. 
Interações entre Tarefas: 
 Cada tarefa é executada de forma 
independente, mas elas precisam interagir 
entre si, pois um Sistema de Tempo Real 
destinado à execução de múltiplas 
tarefas que é a característica dos sistemas 
operacional que permite repartir a 
utilização do processador entre várias 
tarefas aparentemente simultaneamente. 
Interações entre Tarefas: 
Exemplo: 
 
• A tarefa 1 é responsável pela leitura constante dos sensores de pre-
sença. 
• A tarefa 2 é responsável pelo acionamento da sirene. 
• A tarefa 3 é responsável pelo acionamento da discagem telefônica. 
• A tarefa 4 é responsável pela lógica de detecção de intrusos do sis-
tema de alarme. 
 
 Supondo que um sensor de movimento tenha sido acionado, 
a tarefa 1 irá detectar esse acionamento, e precisa notificar a tarefa 4. 
Esta notificação é feita através do envio de uma mensagem para a tarefa 
4. A tarefa 4 irá então receber esta mensagem, e de acordo com sua lóg-
ica, irá enviar uma mensagem de acionamento para a tarefa 2, 3 ou 
para ambas. 
 Este exemplo utiliza a troca de mensagens, como forma de 
comunicação entre as tarefas. 
Outro meio de comunicação 
entre as tarefas são os semá-
foros. Enquanto uma tarefa 
utiliza um dado recurso pode 
bloquear um semáforo; outra 
tarefa antes de utilizar esse 
recurso verifica o estado do 
semáforo, e se estiver bloqueado, 
não utiliza o recurso. 
• Troca de mensagens 
• Semáforos 
Escalonamento de Tarefas: 
 Para atender todas as tarefas solici-
tadas, dentro de suas respectivas restrições 
de tempo, o Kernel necessita de algum 
mecanismo de gerenciamento de tarefas, 
classificando-as e ordenando de acordo com 
sua prioridade. 
 O escalonamento de tarefas é uma 
função realizada pelo Kernel para determinar 
quando uma tarefa mais importante precisa 
ser executada. 
 
Escalonamento de Tarefas: 
 Para exemplificar o escalonamento de tarefas, analise o 
seguinte caso de escalonamento: 
 
1. Uma tarefa de prioridade menor está sendo executada. 
2. Um evento esperado por uma tarefa de prioridade maior ocorre e 
causa uma interrupção no processador. 
3. O processador salva o contexto da tarefa em execução (registros 
da CPU) e executa a rotina de tratamento da interrupção (ISR – 
Interrupt Service Routine). 
4. A rotina de tratamento da interrupção completa e chama um 
serviço do Kernel. 
5. O Kernel prepara e executa a rotina de maior prioridade. 
6. A rotina de maior prioridade entra em execução. 
7. A rotina de maior prioridade chama uma função do Kernel para 
aguardar por outro evento. Isso faz com que o Kernel seja acionado, 
e prepare novamente a rotina de menor prioridade para execução. 
8. A rotina de menor prioridade entra em execução. 
Requisitos para Operação: 
• CPU: A CPU utilizada no projeto pode determinar se você pode ou não utilizar um 
RTOS no seu projeto. 
 
 Por exemplo, uma CPU de 4 bits, sem os registradores necessários, ou de 
 baixa frequência, é feita especificamente para sistemas bem simples e de 
 baixo custo, tornando inviável a utilização de um RTOS. 
 
• ROM: Quantidade de memória de programa disponível para o projeto. Precisa ser 
grande o suficiente para armazenar o código do Kernel mais o código da sua apli-
cação. Dependendo do Kernel, você pode precisar de memória entre 4K e 200Kb, 
apenas para o Kernel de RTOS’s mais simples. 
 
• RAM: Quantidade de memória disponível para os dados do seu programa. O 
RTOS utiliza bastante memória para armazenamento das informações de contexto 
de execução das tarefas no TCB e no stack. O valor da memória RAM deve ser 
grande o suficiente para suprir as necessidades do Kernel e das tarefas da sua 
aplicação. 
 
• Custo: Tanto o custo do RTOS quanto o custo extra do hardware necessário para 
suportar o RTOS devem ser levados em consideração. 
RTOS disponíveis no mercado : 
• Free RTOS 
• NetBSD(baseado no UNIX) 
• Windows CE Embedded 
• Windows NT Embedded 
• Tinys OS 
• uClinux 
 
 Cada RTOS disponível no mercado possui 
vantagens e desvantagens. A escolha do melhor 
sistema dependedos requisitos de hardware e 
software do produto. 
Comparação de Alguns 
Sistemas de Tempo Real : 
FIM! 
Wellington Cássio 
Pâmela Raiane 
Jéssica Luiza 
Sebastião Realino

Outros materiais