- ¿Qué es RTOS?
- ¿Por qué RTOS?
- Diferencia entre el sistema operativo en tiempo real y el sistema operativo
- Tipos de RTOS
- Beneficios de usar RTOS gratuitos
- Algunos problemas importantes relacionados con RTOS
- Cómo usar RTOS
Los sistemas embebidos tienen un amplio abanico de aplicación en todos los dispositivos electrónicos que nos rodean, un ejemplo evidente es el mini portátil que llevamos todo el tiempo con nosotros, sí me refiero a nuestros teléfonos móviles.
Siempre que aparece un sistema integrado, siempre es una combinación de hardware como microcontroladores o microprocesadores y software como firmware o sistema operativo. Un sistema operativo forma la base de todos los dispositivos electrónicos y administra tanto el hardware como el software dentro de cualquier dispositivo electrónico. El término sistema operativo no solo se limita a Unix y Windows para computadoras, sino que también puede extenderse a microcontroladores. Uno de esos sistemas operativos que se puede ejecutar en microcontroladores se denomina sistema operativo en tiempo real. Aquí aprenderemos sobre RTOS y aplicaciones del sistema operativo en tiempo real.
¿Qué es RTOS?
El sistema operativo en tiempo real conocido popularmente como RTOS proporciona al controlador la capacidad de responder a la entrada y completar tareas dentro de un período de tiempo específico según la prioridad. A primera vista, un RTOS puede sonar como cualquier otro programa o firmware integrado, pero se basa en la arquitectura de un sistema operativo. Por lo tanto, como cualquier sistema operativo, RTOS puede permitir que se ejecuten múltiples programas al mismo tiempo que admiten multiplexación. Como sabemos, el núcleo de un procesador o controlador solo puede ejecutar una sola instrucción a la vez, pero el RTOS tiene algo llamado programador.que decide qué instrucción ejecutar primero y, por lo tanto, ejecuta las instrucciones de múltiples programas uno tras otro. Técnicamente, un RTOS solo crea una ilusión de toma múltiple al ejecutar instrucciones en paralelo una a la vez.
Esto hace que RTOS sea adecuado para diversas aplicaciones en el mundo real. En RTOS para cualquier entrada siempre que se haya evaluado una lógica que dé la salida correspondiente. Esta lógica se mide sobre la base no solo de la creatividad lógica, sino también del tiempo de duración en el que se ha realizado la tarea específica. Si un sistema falla al realizar una tarea en ese período de tiempo específico, se conoce como falla del sistema.
¿Por qué RTOS?
- Disponibilidad de controladores: hay muchos controladores disponibles dentro de RTOS, lo que nos permite usarlos directamente para diversas aplicaciones.
- Archivos programados: RTOS se encarga de la programación, por lo que en lugar de enfocarnos en programar cualquier sistema, podemos simplemente enfocarnos en desarrollar aplicaciones. Por ejemplo, los archivos de programación de tareas se utilizan para definir determinadas acciones siempre que se cumplen un conjunto de condiciones. RTOS utiliza ciertos algoritmos avanzados para programar estados normalmente en ejecución, listos y bloqueados que, mientras se ejecuta RTOS, se concentra más en el desarrollo de aplicaciones que en la programación.
- Flexibilidad para agregar funciones: dentro de RTOS, incluso si está dispuesto a agregar nuevas funciones, simplemente puede agregarlas sin alterar las funciones existentes
Diferencia entre el sistema operativo en tiempo real y el sistema operativo
Existen varias diferencias entre el sistema operativo en tiempo real y los sistemas operativos como Windows, Linux, etc. Echemos un vistazo a ellos uno por uno con la ayuda del formato de tabla:
S. No | Sistema operativo | Sistema de tiempo real |
1 | El tiempo compartido es la base de la ejecución de procesos en el sistema operativo | Los procesos se ejecutan según el orden de su prioridad |
2 | El sistema operativo actúa como una interfaz entre el hardware y el software de un sistema | El sistema de tiempo real está diseñado para tener su ejecución para los problemas del mundo real. |
3 | La gestión de la memoria no es un problema crítico cuando se trata de la ejecución del sistema operativo. | La gestión de la memoria es difícil ya que se basa en el problema en tiempo real que se asigna la memoria, que en sí misma es fundamental |
4 | Aplicaciones: Oficina, centros de datos, sistema para el hogar, etc. | Aplicaciones: Control de aviones o reactores nucleares, equipos de investigación científica. |
5 | Ejemplos: Microsoft Windows, Linux, SO | Ejemplos: Vx Works, QNX, Windows CE |
Tipos de RTOS
Podemos clasificar el sistema operativo en tiempo real principalmente en tres partes, a saber
- Sistema operativo duro en tiempo real
- Sistema operativo suave en tiempo real
- Sistema operativo firme en tiempo real
1. Sistema operativo duro en tiempo real
Comencemos a comprender este tipo de sistema operativo usando un ejemplo, el ejemplo vivo es el sistema de control de vuelo. Dentro del sistema de control de vuelo, cualquier tarea asignada por el piloto en forma de entrada, debe realizarse a tiempo. En un sistema operativo en tiempo real difícil, se pueden tolerar las fallas del sistema. Las características de RTOS duro son:
- Para realizar las tareas a tiempo
- No cumplir con el plazo es fatal
- Tiempo de respuesta garantizado en el peor de los casos
- Puede provocar fallas en el sistema
2. Sistema operativo suave en tiempo real
El ejemplo más fácil de usar Soft RTOS es la base de datos en línea, ya que dentro de Soft RTOS, el parámetro que más nos preocupa es la velocidad. Por lo tanto, las características de los RTOS suaves son:
- Las tareas deben realizarse lo más rápido posible
- La finalización tardía de las tareas es indeseable pero no fatal
- Existe la posibilidad de degradación del rendimiento
- No puede provocar una falla del sistema
3. Sistema operativo firme en tiempo real
El brazo robótico que se utiliza para recoger objetos puede considerarse uno de los ejemplos de RTOS firmes. Aquí, dentro de esta firma RTOS, incluso si el proceso se retrasa, se tolera.
Beneficios de usar RTOS gratuitos
Las siguientes son las ventajas de usar RTOS en sus aplicaciones.
- Sin problemas de firewall
- Ancho de banda reducido para un rendimiento mejorado
- Seguridad y privacidad mejoradas
- Bajo costo, debido a la reducción de componentes de hardware y software utilizados para el desarrollo.
Algunos problemas importantes relacionados con RTOS
Ahora, a pesar de tener muchas ventajas para RTOS en la aplicación del mundo real, también tiene varias desventajas. Algunas de las cuestiones relacionadas con ella se discuten aquí.
- Las interrupciones se utilizan normalmente en programas para detener el programa en ejecución y desviar el flujo a alguna otra parte importante del código. Aquí, dentro de RTOS, ya que se requiere un tiempo de respuesta rápido; Se recomienda desactivar las interrupciones durante el mínimo tiempo posible.
- Dado que el kernel también debe responder a varios eventos, se requiere que tenga un tamaño de kernel menor para que encaje correctamente en la ROM
- Las funciones sofisticadas de RTOS deben eliminarse ya que no existe el concepto de memoria virtual como tal dentro de ella.
Cómo usar RTOS
Ahora que sabe qué es RTOS y dónde puede usarlo, para comenzar con RTOS normalmente debe usar el entorno de desarrollo Tornado o FreeRTOS. Echemos un vistazo breve a ambos entornos de desarrollo.
Tornado - VxWorks
Tornado es un entorno integrado para desarrollar aplicaciones RTOS integradas relacionadas en tiempo real en el sistema de destino. Tornado consta de tres elementos básicos que se enumeran a continuación.
1) VxWorks
2) Herramientas de creación de aplicaciones (compilador y programas asociados)
3) Entorno de desarrollo integrado, que puede administrar, depurar y monitorear la aplicación VxWorks
VxWorks es un sistema operativo en red en tiempo real. Para comenzar con VxWorks, deberíamos tener un kit de desarrollo (destino) junto con una estación de trabajo. Aquí, el kit de desarrollo no es más que el host o componente de destino que se comunica con el servidor de destino en la estación de trabajo. El objetivo aquí conecta herramientas de tornado como el shell y el depurador. Por lo tanto, usando VxWorks configuraremos y construiremos los sistemas mientras Tornado nos brinda una interfaz gráfica de usuario y herramientas de línea de comandos para la configuración y construcción.
Un punto muy importante que aparece aquí es que mientras instala tornado dentro de su sistema, el directorio de instalación debe usar los nombres de ruta como:
installDir / target. Por ejemplo, si desea almacenar su tornado en C: \ tornado en un host de Windows, el nombre de ruta completo debe identificarse en ese caso como installDir / target / h / vxworks.h.
Aquí, no discutiremos en detalle sobre las características de Vxworks (lo dejaremos para el próximo tutorial) pero discutiremos cómo se puede hacer el desarrollo usando C ++ dentro de Vxworks usando WindRiver GNU. WindRiver GNU nos ayuda a proporcionar un análisis gráfico sobre la interrupción involucrada durante la ejecución, así como el informe de uso de memoria.
Por ejemplo, la vista anterior de WindRiver explica el número de procesador asociado junto con la prioridad de las tareas (tLowPri y tHighPri). El estado inactivo, es decir, la línea de color verde indica el período de tiempo durante el cual el procesador no está en su estado de funcionamiento, que se observa después de unos pocos segundos. t1, t7, t8 y t9 no son más que los distintos procesadores utilizados. Aquí, seleccionamos solo el procesador t7.
Por lo tanto, este Windriver es capaz de invocar subrutinas del módulo de aplicación y VxWorks. Puede iniciar la aplicación Windriver desde la barra de herramientas de lanzamiento de tornado (botón -> i), luego haga clic en el menú y luego haga clic en el shell. Por último, desde el símbolo del sistema, escriba "> servidor de destino windsh".
Ahora, para programar usando C ++, es importante incluir el componente INCLUDE_CPLUS_DEMANGLER, este componente de demanda permite que los símbolos de shell de destino devuelvan formas legibles por humanos de los nombres de los símbolos de C ++. Antes de descargar el módulo C ++ al destino de Vxworks, siga el proceso conocido como munching. Aquí, masticar se refiere a un paso adicional de procesamiento del host.
Compile el programa fuente de la aplicación C ++ y obtenga, por ejemplo, el archivo hello.cpp. Luego ejecútelo para masticar el.o y compile el archivo ctdt.c generado. Además, vincule la aplicación con ctdt.o para generar un módulo descargable, hello.out dentro de VxWorks. La salida después de ejecutar este VxWorks será un archivo make que se usará en algún objetivo.
RTOS gratis
Generalmente, siempre que comenzamos con RTOS, generalmente preferimos Vx Works RTOS. Pero, aquí tengamos una breve discusión sobre el RTOS gratuito, que los principiantes también pueden utilizar para analizar el concepto de sistema operativo en tiempo real. Free RTOS es desarrollado por Richard Barry y el equipo de FreeRTOS, también es propiedad de Real time ingenieros ltd, pero es de uso gratuito y se puede descargar simplemente haciendo clic en el enlace de abajo
Descarga gratis ROTS
La última versión de RTOS gratuito que se utiliza en el momento de este artículo es la versión 10, declarada como FreeRTOS V10.
La mayor ventaja del RTOS gratuito que lo hace superior en términos de otros RTOS es su comportamiento independiente de la plataforma en términos de hardware, es decir, el código c que usaremos para ejecutar un sistema operativo puede ejecutarse en varias plataformas con diferente arquitectura. Por lo tanto, independientemente de si está utilizando el microcontrolador 8051 o algún microcontrolador ARM más reciente, el código que escribió junto con el proceso de ejecución será similar para ambos.
Hay muchos otros beneficios de usar RTOS gratuitos sobre trabajos Vx y otras herramientas operativas RTOS. Algunos de ellos se pueden enunciar como:
- Proporciona pruebas más fáciles
- Promueve el concepto de reutilización de código.
- Menor tiempo de inactividad
- Fácil mantenimiento
- Resumen de información de tiempo
Además, el Kernel básico, donde Kernel se refiere al componente central de un sistema operativo que está presente dentro del RTOS gratuito, lo hace accesible para varias aplicaciones. Dado que es fácil adjuntar módulos expandidos en sistemas operativos para obtener más aplicaciones, RTOS se vuelve más poderoso.
Uno de los ejemplos de uso de RTOS gratuitos se puede explicar utilizando el concepto de combinar Free RTOS con Nabto. Nabto es un dispositivo web gratuito que se utiliza para transferir la información del dispositivo al navegador.
Por lo tanto, al combinar Free RTOS con Nabto, se convierte en un pequeño fragmento de código C como se explica en la figura a. Hoy en día, el Internet de las cosas (IOT) está de moda y cada dispositivo IOT al que accederemos tiene una URL única en Internet y la tecnología permite conexiones punto a punto seguras y con un ancho de banda extremadamente bajo. En ausencia de conectividad a Internet, esta combinación puede resultar útil. Por lo tanto, RTOS gratuito es una opción popular cuando se trata de implementar IOT.