Escolar Documentos
Profissional Documentos
Cultura Documentos
Sistemas de tempo real crticos, so geralmente usados na rea militar, aviao, controle de
processos industriais, rea mdica e etc, onde o tempo para resposta algo altamente crtico.
Neste exemplo, temos um sensor de movimento e presena que acionado. A tarefa 1, realiza
a leitura do sensor e detecta o acionamento, notificando ento a tarefa 4, atravs do envio de
uma mensagem. Aps analisar o acionamento usando sua lgica, se for um acionamento
vlido, a tarefa 4 notificar as tarefas 2 e 3. A tarefa 2 acionara a sirene e a 3 realizara a
discagem telefnica automtica para a central.
Ento, um sistema de tempo real composto pelo kernel (ncleo) e de vrias pequenas
tarefas, cada uma com sua prioridade definida. Logo necessrio algum mecanismo para o
gerenciamento destas tarefas, possibilitando que as mesmas sejam ordenadas de acordo com
sua prioridade. Isso feito atravs do escalonamento de tarefas.
Escalonamento de Tarefas
O escalonamento de tarefas realizado pelo kernel, onde o mesmo verificara quando uma
tarefa mais importante dever ser executada (escalonada).
Como o sistema de tempo real composto pelo kernel e pelas tarefas, a CPU ou est sendo
usada por alguma tarefa ou pelo kernel. Para que o kernel realize o escalonamento
necessrio que ele esteja no controle da CPU.
O controle da CPU pelo kernel pode ser obtido atravs de um dos seguintes eventos:
Quando uma tarefa envia uma mensagem para outra tarefa. Neste caso, o kernel
assume o controle da CPU, prepara o envio da mensagem e verifica qual a tarefa com
maior prioridade para ser executada no momento.
Quando uma tarefa requisita um tempo de espera (delay) para o kernel. Neste momento
o kernel assume o controle da CPU e pode realizar o escalonamento.
Quando ocorre uma interrupo no timer do sistema. Neste caso, a tarefa em execuo
colocada em espera e o kernel escalona para a tarefa mais importante.
Quando ocorre um evento que uma tarefa de prioridade maior estava esperando
ocorrer, causando a interrupo da tarefa em execuo.
Em uma estrutura de dados chamada TCB (Task Control Block) o kernel mantem informaes
sobre o estado atual de uma tarefa, tambm conhecido como contexto de execuo da tarefa.
O TCB tambm armazena o contedo de alguns dos registradores da CPU salvos no momento
em que a execuo da tarefa suspensa. A troca de tarefas em execuo, feita pelo kernel,
tambm pode ser chamada de mudana de contexto, pois o kernel salva o contexto da tarefa a
ser suspensa no TCB, e o contexto da tarefa a ser executada recuperada do TCB.
interrupo e para a execuo da tarefa corrente. O kernel assume o controle, salva o estado
da tarefa atual (contexto de execuo da tarefa) no TCB e chama uma rotina de tratamento de
interrupo adequada com o tipo de interrupo ocorrida.
O fluxo de execuo ento desviado para esta rotina de tratamento, que aps ser completada
chama um servio do kernel. O kernel prepara e escala uma rotina de maior prioridade, que
estava aguardando a ocorrncia deste evento para ser executada.
Esta rotina aps entrar em execuo, chama uma funo do kernel para aguardar por outro
evento. Isso faz com que o kernel seja acionado novamente e realiza outro escalonamento,
desta vez da tarefa de menor prioridade que foi interrompida inicialmente.
Como pode ser visto no exemplo anterior, o kernel fez uso da UCP em trs momentos para
realizar o escalonamento de rotinas (tarefas) a serem executadas.
FreeRTOS
um sistema de tempo real free, criado por volta do ano 2000 por Richard Barry, e hoje
mantido pela empresa Real Time Engineers Ltd. Possui cdigo aberto.
Projetado para ser pequeno, simples e fcil de usar. o STR mais utilizado para aplicaes
embarcadas. Suporta mais de 34 arquiteturas diferentes. Possui um mini-kernel de sistemas de
tempo real. Seu kernel pode ocupar de 4KB a 9KB de cdigo e cerca de 200 bytes de dados.
Tem aproximadamente 2.200 linhas de cdigo. Seu cdigo fonte escrito em C com partes em
Assembly, distribudo em quatro arquivos, task.c, queue.c, croutine.c e list.c
VxWorks
Sistema operacional de tempo real parecido com o Unix, produzido e vendido pela Wind River
Systems.
Possui um ncleo (kernel) multitarefa com escalonamento preemptivo, rpida resposta s
interrupes, meios de comunicao entre processos e meios para a sincronizao, e sistema
de arquivos.
Tem como caractersticas a mais o gerenciamento de memria compatvel com POSIX,
facilidades para multiprocessadores, um shell para interao e etc.
LINKS DE PESQUISA
https://www.wikiwand.com/pt/Sistema_operacional_de_tempo-real
http://www.ic.unicamp.br/~islene/2s2007-mo806/slides/rt.pdf
http://sergioprado.org/sistemas-de-tempo-real-part-1/
http://www.mecatronicaatual.com.br/educacao/1871-o-que-um-sistema-operacional-de-temporeal-rtos
https://www.wikiwand.com/pt/VxWorks
http://www.freertos.org/index.html