FreeRTOS

 

FreeRTOS es un sistema operativo en tiempo real (RTOS, por sus siglas en inglés) diseñado para microcontroladores y microprocesadores. 

No es un sistema operativo completo como Linux, sino un núcleo ligero que permite ejecutar múltiples tareas de manera concurrente y controlada en dispositivos con recursos limitados.

Aquí tienes sus características y conceptos clave:


1. Tareas (Tasks)

  • Son como “pequeños programas” que se ejecutan de manera independiente.

  • Cada tarea tiene su propia prioridad.

  • FreeRTOS gestiona cuál tarea se ejecuta en cada momento según la prioridad y el estado de cada tarea.


2. Planificación (Scheduling)

  • FreeRTOS utiliza planificación preemptiva o cooperativa:

    • Preemptiva: Una tarea puede ser interrumpida si llega otra más prioritaria.

    • Cooperativa: Las tareas ceden el control voluntariamente (menos común).


3. Sincronización

  • FreeRTOS incluye mecanismos para que las tareas se comuniquen y sincronicen sin conflictos:

    • Colas (Queues): Para enviar datos entre tareas.

    • Semáforos (Semaphores): Para evitar acceso simultáneo a recursos compartidos.

    • Mutex: Para protección más estricta de recursos compartidos.


4. Timers y Delays

  • Permite programar eventos a intervalos específicos de tiempo.

  • Puedes poner tareas “a dormir” por un tiempo definido.


5. Ligero y Portátil

  • Diseñado para microcontroladores con memoria limitada.

  • Se puede portar a muchas arquitecturas: ARM Cortex-M, AVR, ESP32, PIC32, entre otros.




           ┌───────────────┐
           │   Planificador│
           └───────┬───────┘
                   │
   ┌───────────────┼───────────────┐
   │               │               │
┌───────┐       ┌───────┐       ┌───────┐
│Tarea1 │           │Tarea2 │           │Tarea3 │
│Prior 1│           │Prior 2│           │Prior 1│
└───────┘       └───────┘       └───────┘
   │               │               │
   └───────────────┼───────────────┘
                   │
               CPU ejecutando
                tareas según
               prioridad y
                  estado

Comentarios