

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Princípios básicos do kernel do FreeRTOS
<a name="dev-guide-freertos-kernel"></a>

O kernel do FreeRTOS é um sistema operacional em tempo real compatível com inúmeras arquiteturas. Seus fundamentos são ideais para a criação de aplicativos de microcontroladores incorporados. Ele fornece:
+ Um programador multitarefa.
+ Várias opções de alocação de memória (inclusive a possibilidade de criar sistemas totalmente alocados estaticamente). 
+ Primitivos de coordenação entre tarefas, inclusive notificações de tarefas, filas de mensagens, vários tipos de semáforos e buffers de fluxo e de mensagens.
+ Compatibilidade com o multiprocessamento simétrico (SMP) em microcontroladores de vários núcleos.

O kernel do FreeRTOS nunca realiza operações não determinísticas, como percorrer uma lista vinculada, dentro de uma seção crítica ou interrupção. O kernel do FreeRTOS inclui uma implementação de temporizador de software eficiente que não usa nenhum tempo de CPU, a menos que um temporizador precise de manutenção. As tarefas bloqueadas não exigem manutenção periódica demorada. Direct-to-task as notificações permitem a sinalização rápida de tarefas, praticamente sem sobrecarga de RAM. Elas podem ser usadas na maioria dos cenários de sinalização entre tarefas e de interrupção para tarefa.

O kernel do FreeRTOS foi projetado para ser pequeno, simples e fácil de usar. Uma imagem binária típica do kernel do RTOS está no intervalo de 4.000 a 9.000 bytes.

Para obter a documentação mais atualizada sobre o kernel do FreeRTOS, consulte. [ FreeRTOS.org](https://freertos.org/) FreeRTOS.org [https://freertos.org/Documentation/02-Kernel/05-RTOS-implementation-tutorial/01-RTOS-implementation](https://freertos.org/Documentation/02-Kernel/05-RTOS-implementation-tutorial/01-RTOS-implementation) [documentação do FreeRTOS.](https://freertos.org/Documentation/01-FreeRTOS-quick-start/01-Beginners-guide/02-Quick-start-guide)