¿Cuáles son los mejores recursos para aprender sobre RTOS (sistema operativo en tiempo real)?

La mejor manera de aprender es implementar un RTOS. Un buen lugar para comenzar es http://www.freertos.org/

Aquí hay una breve descripción general de RTOS para aquellos que todavía no están comprometidos con un libro o código. [Crédito al profesor Jim Peckol en la Universidad de Washington, esta respuesta se basa en mis notas anteriores de su clase]

Un sistema operativo tiene que proporcionar 3 cosas esenciales:

  1. Programación de tareas: el programador determina qué tarea ejecutar y cuándo se ejecutará una tarea
  2. Despacho de tareas: el despachador maneja las operaciones necesarias para preparar una tarea.
  3. Comunicación entre tareas: este es el mecanismo que controla cómo intercambias datos e información entre tareas y procesos en la misma máquina o desde otras máquinas

Estas 3 cosas esenciales son las que conforman la porción más pequeña de un sistema operativo llamado Kernel.

Un sistema operativo en tiempo real es solo un sistema operativo de propósito especial. La parte del nombre en “tiempo real” no significa que el sistema responda rápidamente, solo significa que hay requisitos de tiempo rígidos que deben cumplirse. Si no se cumplen estos requisitos de tiempo, sus resultados pueden volverse inexactos o poco confiables.

Por lo tanto, desea utilizar un RTOS cuando necesite monitorear y controlar los procesos físicos de manera oportuna. Las restricciones con las que se ha enfrentado al utilizar RTOS son la programación ajustada, la previsibilidad y la solidez.

Hay dos tipos de RTOS:

  1. Tiempo real difícil: los retrasos del sistema son conocidos o al menos limitados. Se dice que funciona correctamente si el sistema puede devolver resultados dentro de cualquier restricción de tiempo.
  2. Tiempo real suave: las tareas críticas tienen prioridad sobre otras tareas y mantendrán la prioridad hasta que la tarea se complete. Esta es otra forma de decir que las tareas en tiempo real no se pueden mantener esperando indefinidamente. El suave tiempo real facilita la mezcla del sistema con otros sistemas.

Las otras funciones que maneja el sistema operativo fuera del Kernel son:

  • Gestión de proceso
  • Gestión de la memoria
  • Gestión del sistema de E / S
  • Gestión del sistema de archivos
  • Proteccion del sistema
  • Redes
  • Interrupcion de comando

Los RTOS son bastante variados en complejidad (todo, desde chips integrados hasta un sistema operativo completo) y en cómo definen el “tiempo real”. Esto se debe a que las personas a menudo eliminan la mayor parte del sistema operativo que pueden administrar para su aplicación particular para reducir los gastos generales: hacer que incluso las cosas que damos por sentado, como la asignación de memoria virtual, sean una característica opcional. Esta es la razón por la que la investigación solo para la palabra RTOS le ofrece muchos documentos académicos y algo de documentación militar: no es un campo muy unificado.

La mayoría de las configuraciones se dividen en una de las tres categorías: las dos más grandes son las que tiene una plataforma de desarrollo que compilará de forma cruzada lo que sea que solicite en un sistema operativo estándar, incluido el fregadero de la cocina en su dispositivo de destino (hay un límite en la cantidad de gastos generales puede limpiar con esta táctica, o puede comenzar con su sistema integrado y desarrollar un comportamiento similar a un sistema operativo, principalmente a través de capas de programación impulsada por interrupciones. También hay una gran cantidad de plataformas RTOS que hacen una “estimación aproximada” de lo que quiere y lo ofrecen más o menos pre-envuelto en un paquete en tiempo real. VxWorks y QNX son dos de las variantes más populares desde arriba hacia abajo, especialmente en la NASA y el trabajo militar. Estudiarlos es más o menos como estudiar cualquier sistema operativo. El ascendente tiende a ser altamente específico de la arquitectura, pero gran parte del conocimiento puede estar oculto bajo la programación basada en interrupciones, los principios generales incorporados e información sobre su aplicación específica.

Si me da una pregunta más exacta, probablemente pueda darle una respuesta más exacta.

Me gusta el MicroC / OS-II de Jean Labrosse : El libro del kernel en tiempo real . Cubre conceptos básicos de RTOS e incluye código fuente bien documentado. El sistema operativo también es lo suficientemente simple como para que puedas entenderlo todo.

http://www.amazon.com/MicroC-OS-…

Evite su libro más reciente, uC / OS-III, ya que ya no incluye el código fuente y en realidad es solo la documentación de su sistema operativo comercial.