FreeRTOS editar

Introducción editar

¿Qué es un RTOS? editar

Es un sistema operativo (SO) de tiempo real (TR) o en ingles Real Time Operating System (RTOS) , existen aplicaciones donde el tiempo de respuesta a un estímulo del sistema es un parámetro crítico , por lo tanto es requisito que la respuesta del sistema se ubique dentro de una ventana de tiempo es ahí donde los RTOS tienen su aplicación. Respuestas demasiado tempranas como demasiado tardías pueden ser indeseables. Por eso se dice que además de la confiabilidad, el uso de un RTOS contribuye a aumentar el determinismo del sistema.

La mayoría de los SO operativos permiten ejecutar tareas al mismo tiempo, esto se llama multi-tasking (multi-tarea). En realidad lo que sucede es que cada core del procesador puede ejecutar una tarea a la vez, sin embargo hay una parte del SO llamada Scheduler (organizador) que se encarga de decidir que tarea se ejecuta, cuanto tiempo dicha tarea permanece en estado de ejecución y cuando se pasa a ejecutar otra tarea, esto permite la ilusión de estar ejecutar varias tareas al mismo tiempo.

En un RTOS, el scheduler está diseñado de tal forma que permita ejecutar tareas en tiempos predecibles (normalmente descrito como determinístico). Esto resulta de gran utilidad en sistemas embebidos donde se busca que el sistema responda en un tiempo estricto.

Para conseguir ese control, el usuario evaluará y definirá que prioridades tendrán cada tarea a ejecutar, para luego ser ejecutadas por el scheduler.

¿Qué es FreeRTOS? editar

Es un sistema operativo de tiempo real de código abierto, lo suficientemente pequeño para funcionar en un microcontrolador .

¿Qué ventajas tiene usar un RTOS?

Ejemplo muy completo que compara las distintas soluciones para una cierta aplicación:

http://www.freertos.org/tutorial/