Sistema operativo en tiempo real (RTOS): componentes, tipos, ejemplos

¿Qué es un sistema operativo en tiempo real (RTOS)?

Sistema operativo en tiempo real (RTOS) es un sistema operativo destinado a servir aplicaciones en tiempo real que procesan datos a medida que llegan, principalmente sin buffer demora. La forma completa de RTOS es un sistema operativo en tiempo real.

En un RTOS, los requisitos de tiempo de procesamiento se calculan en incrementos de tiempo de décimas de segundo. Es un sistema con plazos determinados que se puede definir como limitaciones de tiempo fijas. En este tipo de sistema, el procesamiento debe realizarse dentro de las restricciones especificadas. Otrowise, el sistema fallará.

¿Por qué utilizar un RTOS?

Aquí hay razones importantes para usar RTOS:

  • Ofrece programación basada en prioridades, lo que le permite separar el procesamiento analítico del procesamiento no crítico.
  • El sistema operativo en tiempo real proporciona funciones API que permiten un código de aplicación más limpio y más pequeño.
  • Abstraer las dependencias de tiempo y el diseño basado en tareas da como resultado menos interdependencias entre módulos.
  • RTOS ofrece desarrollo modular basado en tareas, lo que permite pruebas modulares basadas en tareas.
  • La API basada en tareas fomenta el desarrollo modular como una tarea que normalmente tendrá una función claramente definida. Permite a los diseñadores/equipos trabajar de forma independiente en sus partes del proyecto.
  • Un RTOS está controlado por eventos sin pérdida de tiempo en el tiempo de procesamiento del evento que no ocurre.

Componentes de RTOS

Componentes de RTOS
Componentes del sistema operativo en tiempo real

Aquí, hay un componente importante de RTOS.

El programador: Este componente de RTOS indica en qué orden se pueden ejecutar las tareas, que generalmente se basa en la prioridad.

Multiprocesamiento simétrico (SMP): Es una serie de tareas diferentes que el RTOS puede manejar para que se pueda realizar el procesamiento en paralelo.

Biblioteca de funciones: Es un elemento importante de RTOS que actúa como una interfaz que le ayuda a conectar el kernel y el código de la aplicación. Esta aplicación le permite enviar las solicitudes al Kernel utilizando una biblioteca de funciones para que la aplicación pueda dar los resultados deseados.

Gestión de la memoria: este elemento es necesario en el sistema para asignar memoria a cada programa, que es el elemento más importante del RTOS.

Latencia de envío rápida: Es un intervalo entre la finalización de la tarea que puede ser identificado por el sistema operativo y el tiempo real que tarda el subproceso, que está en la cola listo, que ha comenzado a procesarse.

Objetos y clases de datos definidos por el usuario: El sistema RTOS hace uso de lenguajes de programación como C o C++, los cuales deben organizarse según su funcionamiento.

Tipos de RTOS

Tres tipos de sistemas RTOS son:

Tiempo real duro

En Hard RTOS, la fecha límite se maneja de manera muy estricta, lo que significa que la tarea determinada debe comenzar a ejecutarse en el tiempo programado específico y debe completarse dentro del tiempo asignado.

Ejemplo: sistema de cuidados médicos críticos, sistemas de aeronaves, etc.

Firme en tiempo real

Este tipo de RTOS también debe cumplir con los plazos. Sin embargo, no cumplir con una fecha límite puede no tener un gran impacto, pero podría causar efectos no deseados, como una gran reducción en la calidad de un producto.

Ejemplo: Varios tipos de aplicaciones multimedia.

Tiempo real suave

RTOS Soft Real time, acepta algunos retrasos por parte del sistema operativo. En este tipo de RTOS, hay una fecha límite asignada para un trabajo específico, pero un retraso de un pequeño período de tiempo es aceptable. Por lo tanto, este tipo de RTOS maneja con suavidad los plazos.

Ejemplo: Sistema de transacciones en línea y sistema de cotización de precios de ganado.

Términos utilizados en RTOS

A continuación, se muestran los términos esenciales utilizados en RTOS:

  • Tarea - Conjunto de tareas relacionadas que en conjunto pueden proporcionar alguna funcionalidad del sistema.
  • Trabajo - Un trabajo es un pequeño trabajo que se puede asignar a un procesador y que puede requerir o no recursos.
  • Tiempo de liberación de un trabajo – Es un momento del trabajo en el que el trabajo está listo para su ejecución.
  • Tiempo de ejecución de un trabajo: Es el tiempo que tarda el trabajo en finalizar su ejecución.
  • Plazo de un trabajo: Es el momento en el que un trabajo debe finalizar su ejecución.
  • procesadores: También se les conoce como recursos activos. Son importantes para la ejecución de un trabajo.
  • Máximo es el El tiempo de respuesta permitido de un trabajo se denomina fecha límite relativa.
  • Tiempo de respuesta de un trabajo: Es un período de tiempo desde el momento de liberación de un trabajo hasta que finaliza el instante.
  • Plazo absoluto: Este es el plazo relativo, que también incluye su tiempo de lanzamiento.

Características de RTOS

Estas son las características importantes de RTOS:

  • Ocupa muy menos memoria
  • Consumir menos recursos
  • Los tiempos de respuesta son muy predecibles
  • Entorno impredecible
  • El kernel guarda el estado de la tarea interrumpida y luego determina qué tarea debe ejecutarse a continuación.
  • El Kernel restaura el estado de la tarea y pasa el control de la CPU para esa tarea.

Factores para seleccionar un RTOS

Estos son los factores esenciales que debe considerar para seleccionar RTOS:

  • Rendimiento: El rendimiento es el factor más importante que se debe considerar al seleccionar un RTOS.
  • middleware: si no hay soporte de middleware en el sistema operativo en tiempo real, entonces se produce el problema de la integración de procesos que lleva mucho tiempo.
  • Sin errores: Los sistemas RTOS están libres de errores. Por lo tanto, no hay posibilidad de que se produzca un error al realizar la tarea.
  • Uso del sistema integrado: Los programas de RTOS son de pequeño tamaño. Por eso utilizamos ampliamente RTOS para sistemas integrados.
  • Consumo máximo: podemos lograr el máximo consumo con la ayuda de RTOS.
  • Cambio de tareas: El tiempo de cambio de tareas es muy menor.
  • Las características únicas: Un buen RTS debería ser capaz y tener algunas características adicionales como cómo funciona para ejecutar un comando, protección eficiente de la memoria del sistema, etc.
  • Rendimiento 24/7: RTOS es ideal para aquellas aplicaciones que requieren ejecutarse 24 horas al día, 7 días a la semana.

Diferencia entre GPOS y RTOS

Aquí hay diferencias importantes entre GPOS y RTOS:

Sistema operativo de propósito general (GPOS) Sistema operativo en tiempo real (RTOS)
Se utiliza para PC de escritorio y portátil. Solo se aplica a la aplicación integrada.
Programación basada en procesos. La programación basada en el tiempo se usa como la programación por turnos.
La latencia de interrupción no se considera tan importante como en RTOS. El retraso de la interrupción es mínimo y se mide en unos pocos microsegundos.
No existe ningún mecanismo de inversión de prioridad en el sistema. El mecanismo de inversión de prioridad está vigente. Por lo que no puede modificarlo el sistema.
La operación del Kernel puede o no ser adelantada. Se puede adelantar la operación del kernel.
La inversión de prioridad pasa desapercibida Sin garantías de previsibilidad

Aplicaciones del sistema operativo en tiempo real

Los sistemas en tiempo real se utilizan en:

  • Sistema de reservas de aerolíneas.
  • Sistema de control de tráfico aéreo.
  • Sistemas que brindan actualización inmediata.
  • Se utiliza en cualquier sistema que proporcione información actualizada y minuto a minuto sobre los precios de las acciones.
  • Sistemas de aplicación de defensa como RADAR.
  • Sistemas multimedia en red
  • Sistemas de control de comando
  • Telefonía por internet
  • Sistemas de frenos antibloqueo
  • Marcapasos cardíaco

Desventajas de RTOS

Aquí se detallan las desventajas/desventajas de usar el sistema RTOS:

  • El sistema RTOS puede ejecutar tareas mínimas juntas y se concentra solo en aquellas aplicaciones que contienen un error para poder evitarlas.
  • RTOS es el sistema que se concentra en unas pocas tareas. Por lo tanto, es muy difícil para estos sistemas realizar múltiples tareas.
  • Se requieren controladores específicos para que el RTOS pueda ofrecer un tiempo de respuesta rápido para interrumpir señales, lo que ayuda a mantener su velocidad.
  • RTOS utiliza muchos recursos, lo que encarece este sistema.
  • Las tareas que tienen baja prioridad deben esperar mucho tiempo ya que RTOS mantiene la precisión del programa, que está en ejecución.
  • El cambio mínimo de tareas se realiza en sistemas operativos en tiempo real.
  • usa complex algoritmos que son difíciles de entender.
  • RTOS utiliza muchos recursos que a veces no son adecuados para el sistema.

Resumen

  • RTOS es un sistema operativo destinado a servir aplicaciones en tiempo real que procesan datos a medida que llegan, principalmente sin buffer demora.
  • Ofrece programación basada en prioridades, lo que le permite separar el procesamiento analítico del procesamiento no crítico.
  • Los componentes importantes del sistema RTOS son: 1) El programador, 2) Multiprocesamiento simétrico, 3) Biblioteca de funciones, 4) Gestión de memoria, 5) Latencia de despacho rápido y 6) Clases y objetos de datos definidos por el usuario
  • Tres tipos de RTOS son 1) tiempo difícil, 2) tiempo suave y 3) tiempo firme.
  • El sistema RTOS ocupa muy menos memoria y consume menos recursos.
  • El rendimiento es el factor más importante que se debe considerar al seleccionar un RTOS.
  • El sistema operativo de uso general (GPOS) se utiliza para PC de escritorio y portátiles, mientras que el sistema operativo en tiempo real (RTOS) solo se aplica a la aplicación integrada.
  • Los sistemas en tiempo real se utilizan en el sistema de reservas de aerolíneas, el sistema de control de tráfico aéreo, etc.
  • El mayor inconveniente de RTOS es que el sistema sólo se concentra en unas pocas tareas.

es una colección de información correlacionada que se registra en un almacenamiento secundario o no volátil, como discos magnéticos, discos ópticos y cintas. Es un método de recopilación de datos que se utiliza como medio para dar información y recibir resultados de ese programa.

En general, un archivo es una secuencia de bits, bytes o registros cuyo significado lo define el creador y el usuario del archivo. Cada archivo tiene una ubicación lógica donde se ubican para su almacenamiento y recuperación.