Você está na página 1de 22

Sistemas de Tempo Real

FREERTOS

Filipe Lins
George Harinson
Gerenciamento de Memria
RTOS kernel aloca memria ram toda vez que uma tarefa,
queue, mutex, software timer, semforo ou grupo de
evento criado.

As funes da biblioteca standard C como malloc(),
free(), etc podem ser usadas, mas no so ideais.

Sistemas de tempo real embarcados possuem diferentes
requisitos de Alocao de Memria Ram e Tempo.


Gerenciamento de Memria
FreeRTOS inclui 4 formas de alocao de memria
heap_1.c: maneira mais simples onde a memria
alocada mas no pode ser liberada.
heap_2.c: maneira com um algoritmo melhor que
permite liberar a memria e no combina grandes blocos
de memrias livres adjacentes em um nico bloco.
heap_3.c : Simples interliga a biblioteca standard C que
contem funes como malloc() e free().
Gerenciamento de Memria
heap_4.c : Algoritmo melhor que permite
liberar a memria e combina grandes blocos
de memrias livres adjacentes em um nico
bloco.


Gerenciamento de Tarefas
Tarefa
Para o FreeRTOS uma tarefa
composta por :

Um estado que demonstra a atual situao da
tarefa;
Uma prioridade que varia de zero at uma
constante mxima definida pelo o usurio;
Uma pilha na qual armazenada o ambiente de
execuo da tarefa quando est interrompida.
Os possvel estados que uma tarefa pode
assumir so :
Blocked tarefa esperando por um evento
temporal ou de sincronizao.
Suspended no so escalonadas pelo kernel.
Estado de latncia;
Entrar nesse modo : vTaskSuspended( );
Sair do modo : vTaskResume( );
Ready tarefas aguardando na fila para serem
executadas.
Tarefa Ociosa
No FreeRTOS existe tambm uma tarefa
denominada de tarefa ociosa, a qual
executada quando nenhuma tarefa est em
execuo.
A tarefa ociosa tem como principal finalidade
excluir da memria tarefas que no sero mais
usadas pelo sistema.
Escalonamento - FreeRTOS
MODOS DO ESCALONADOR
O escalonador pode funcionar de forma preemptiva ou
colaborativa, dependendo da definio da opo
configUSE_PREEMPTION no arquivo de configurao do FreeRTOS.
No modo preemptivo, o kernel ir interromper a tarefa em execuo
periodicamente para verificar se existe alguma outra tarefa com
prioridade igual ou maior pronta para execuo.
No modo colaborativo, as tarefas no so interrompidas pelo kernel
durante sua execuo (mas ainda podem ser interrompidas por uma
interrupo).
Aplicaes
Como o FreeRTOS possui um kernel bsico
torna-se mais flexvel para os usurios
anexarem mdulos no sistema operacional
para criar novas aplicaes.
Novo Servio de Gerenciamento de Nuvem,
File System API, TCP/IP,...
FreeRTOS + Nabto
FreeRTOS + Nabto
FreeRTOS + Nabto um cdigo em C.
Cada dispositivo da Internet das Coisas (IOT)
possui uma nica URL dentro da internet, e a
tecnologia permite segurana, autenticao e
uma pequena banda de conexo P2P.
acessvel pela rede local no caso de ocorrer
problemas de conectividade na Internet.
combinado com o FreeRTOS possui
recursos especiais de low power, dessa
forma o FreeRTOS uma escolha natural
para implementar a IOT.
Benefcios
Possui uma nica url para cada dispositivo
Acesso remoto atravs da internet no
computador , tablet ou smart phone.
Sem complicaes com o Firewall
Baixo uso de Banda para uma performance
aceitvel
Aumento da privacidade e da segurana
Reduo do Hardware e Custo de Software
Concluso
um Free Real-Time OS com kernel essencial
para low power e alta eficiencia.
Suporta varias arquiteturas
Ex. ARM, Altera, Xilinx, IBM, Intel, Cortus...
Open source, implatavel, flexivel e de facil
aprendizagem
Comunidade Ativa em freeRTOS.org

Referncias
The Architeture of Open Source Applications (Volume 2):
FreeRTOS
http://www.aosabook.org/en/freertos.html
FreeRTOS Website
http://www.freertos.org/
Video apresentado
https://www.youtube.com/watch?v=j86FCsEmZv4
S. L. Galvo Stephenson - Modelagem do Sistema
Operacional de Tempo Real FreeRTOS - Natal, Rn
Acessado em 03/06/2014.
S. Prado, So Paulo, julho de 2012 FreeRTOS Embedded
Labworks.