¿Qué es el sistema operativo en tiempo real (RTOS) y cómo funciona?

Pruebe Nuestro Instrumento Para Eliminar Los Problemas





Cuando escuchamos la palabra sistema operativo, lo primero que nos viene a la mente es el sistema operativo utilizado en las computadoras portátiles y computadoras. Generalmente, usamos diferentes tipos de sistemas operativos como Windows XP, Linux, Ubuntu, Windows 7,8.8.1 y 10. En los teléfonos inteligentes, los sistemas operativos son como KitKat, Jellybean, marshmallow y Nougat. En un dispositivo electrónico digital, hay algún tipo de sistema operativo desarrollado por el programa del microcontrolador . Existen diferentes tipos de sistemas operativos para desarrollar para el microcontrolador, pero aquí hemos discutido el sistema operativo en tiempo real.

¿Qué es un sistema operativo en tiempo real?

El RTOS es un sistema operativo, es un cerebro del sistema en tiempo real y su respuesta a las entradas de forma inmediata. En el RTOS, la tarea se completará en el tiempo especificado y sus respuestas de una manera predecible a eventos impredecibles. La estructura del RTOS se muestra a continuación.




Estructura de RTOS

Estructura de RTOS

Tipos de RTOS

Hay tres tipos diferentes de RTOS que siguen



  • Sistema operativo suave en tiempo real
  • Sistema operativo duro en tiempo real
  • Sistema operativo firme en tiempo real
Tipos de RTOS

Tipos de RTOS

Sistema operativo suave en tiempo real

El sistema operativo suave en tiempo real tiene ciertas fechas límite, es posible que se pasen por alto y tomarán la acción en el momento t = 0 +. El sistema operativo suave en tiempo real es un tipo de sistema operativo y no contiene reglas limitadas a extremas. El tiempo crítico de este sistema operativo se retrasa hasta cierto punto. Los ejemplos de este sistema operativo son la cámara digital, los teléfonos móviles y los datos en línea, etc.

Sistema operativo suave en tiempo real

Sistema operativo suave en tiempo real

Sistema operativo duro en tiempo real

Este también es un tipo de sistema operativo y está previsto para una fecha límite. Los plazos previstos reaccionarán en un momento t = 0. Algunos ejemplos de este sistema operativo son el control de la bolsa de aire en los automóviles, el freno antibloqueo y el sistema de control del motor, etc.

Sistema operativo firme en tiempo real

En la empresa en tiempo real, un sistema operativo tiene ciertas limitaciones de tiempo, no son estrictas y pueden causar efectos no deseados. Ejemplos de este sistema operativo son una inspección visual en la automatización industrial.


Trabajar con el sistema operativo en tiempo real

Hay diferentes tipos de funcionalidades básicas de un RTOS que están siguiendo

  • Programador basado en prioridades
  • Rutina de interrupción del reloj del sistema
  • Comportamiento determinista
  • Sincronización y mensajería
  • Servicio RTOS

Programador basado en prioridades

En el programador basado en prioridades, la mayor parte del RTOS tiene entre 32 y 256 posibles prioridades para las tareas o procesos individuales. Este programador ejecutará el proceso con la máxima prioridad. Si la tarea se ejecuta en la CPU, la siguiente tarea de mayor prioridad se ejecuta y continúa con los procesos.

En el sistema, el proceso de mayor prioridad tendrá la CPU

  • Corre para cerrar
  • Si la tarea original es reemplazada por la nueva, entonces se prepara un proceso de alta prioridad.

Hay tres estados de las tareas o procesos que están listos para ejecutarse y el otro está bloqueado y la descripción de cada estado se proporciona a continuación.

Listo para correr

Se dice que está listo para ejecutarse cuando el proceso tiene todos los recursos para ejecutarse, pero no debería estar en estado de ejecución. Entonces se llama como listo para funcionar.

Corriendo

Si la tarea se está ejecutando, se dice que tiene un estado en ejecución.

Obstruido

En este estado, si no tiene los recursos suficientes para ejecutarse, se envía al estado bloqueado.

Se modifican tres técnicas para programar la tarea, las siguientes con su descripción.

Programación cooperativa

En este tipo de programación, la tarea se ejecutará hasta que se complete la ejecución.

Programación Round Robin

En esta programación, a cada proceso se le asigna un intervalo de tiempo fijo y el proceso debe completar su ejecución o, de lo contrario, la tarea pierde su flujo y generación de datos.

Programación preventiva

La programación preventiva implica la asignación de tiempo dependiente del tiempo de prioridad. En general, se utilizan 256 niveles de prioridad y cada tarea tiene un nivel de prioridad único. Hay algunos sistemas que admiten el nivel de mayor prioridad y las tareas múltiples tienen algunas prioridades.

Rutina de interrupción del reloj del sistema

Para realizar la operación sensible al tiempo, el RTOS proporcionará algún tipo de reloj del sistema. Si hay un reloj del sistema de 1 ms, entonces debe completar la tarea en 50 ms. Por lo general, hay una API que te sigue para decir 'En 50ms despiertame'. Por lo tanto, la tarea estaría en posición de dormir hasta que el RTOS se despierte. Tenemos dos avisos de que el despertador no garantizará que se ejecute exactamente en ese momento, depende de la prioridad y si la prioridad más alta se está ejecutando actualmente, se retrasará.

Comportamiento determinista

El RTOS se mueve en gran medida para proteger que, ya sea que haya realizado 100 tareas o 10 tareas, no hace ninguna diferencia en la distancia para cambiar de contexto y determina la siguiente tarea de mayor prioridad. En el área principal determinista, el RTOS es el manejo de interrupciones, cuando se les señala la línea de interrupción, el RTOS toma inmediatamente la acción de la rutina de servicio de interrupción correcta y la interrupción se maneja sin ningún retraso.

Tenemos que decir que los desarrolladores del proyecto escribirán los ISR específicos del hardware. Hasta ahora, el RTOS proporciona los ISR para los puertos serie, los relojes del sistema y puede ser un hardware de red, pero si hay algo especializado como señales de marcapasos, actuadores, etc., no forme parte del RTOS.

Se trata de generalizaciones burdas y hay una gran variedad de implementaciones en el RTOS. Algunos de los RTOS funcionan de manera diferente y la descripción anterior es compatible con la gran parte de los RTOS existentes.

Sincronización y mensajería

La sincronización y la mensajería proporcionan la comunicación entre la tarea de un sistema a otro sistema y los servicios de mensajería que siguen. Para sincronizar las actividades internas se usa la bandera de eventos y para enviar los mensajes de texto que podemos usar en el buzón, canalizaciones y colas de mensajes. En las áreas de datos comunes, se utilizan los semáforos.

  • Semáforos
  • Banderas de eventos
  • Buzones de correo
  • Tubería
  • Colas de mensajes

Servicio RTOS

La parte más importante del sistema operativo es el Kernel. Para monitorear el hardware, la tarea debe aliviarse y las responsabilidades del kernel administran y asignan los recursos. Si la tarea no puede obtener la atención de la CPU en todo momento, hay otros servicios proporcionados por el kernel. Los siguientes son

  • Servicios de tiempo
  • Servicios de manejo de interrupciones
  • Servicios de administración de dispositivos
  • Servicios de gestión de memoria
  • Servicios input-output

Ventajas de RTOS

  • Cuando todos los recursos y dispositivos están inactivos, el RTOS proporciona el máximo consumo del sistema y más salida.
  • Cuando se está realizando una tarea, no hay posibilidad de obtener el error porque el RTOS está libre de errores.
  • La asignación de memoria es el mejor tipo para administrar en este tipo de sistema.
  • En este tipo de sistema, el tiempo de cambio es muy inferior.
  • Debido al pequeño tamaño del programa, el RTOS se utiliza en sistema Integrado como transporte y otros.

En este artículo, hemos discutido cómo funcionará el sistema operativo en tiempo real. Espero que al leer esto hayas obtenido alguna información básica. Si tiene alguna consulta sobre este artículo o para implementar proyectos eléctricos , no dude en comentar en la siguiente sección. Aquí está la pregunta para usted, ¿cuáles son las funciones del RTOS?