Cuáles son las desventajas de un sistema operativo en tiempo real
Un sistema operativo en tiempo real (RTOS, por sus siglas en inglés) es un tipo específico de sistema operativo que lleva a cabo funciones y cálculos dentro de un tiempo especificado. Este da prioridad a las tareas y puede suspender uno a favor de otro de mayor prioridad, asegurando que procese la tarea más importante primero. Sin embargo, junto con los beneficios de la utilización de un RTOS, también tiene varios inconvenientes, incluyendo el costo del sistema operativo y su complicada implementación.
Tipos
Los dos tipos principales de RTOS son en tiempo real blando (SRT, por sus siglas en inglés) y en tiempo real duro (HRT, por sus siglas en inglés). Un HRT tiene la capacidad de garantizar que siempre procesará las operaciones dentro de un marco de tiempo garantizado, mientras que un SRT solo puede garantizar los mismos resultados la mayoría de las veces. Esto ayuda a los SRT a optimizar los elementos no esenciales de la solicitud, lo cual un HRT no hace. Los sistemas de SRT no son fiables en situaciones en las que se deben cumplir plazos críticos, como por ejemplo en equipos médicos o sistemas de control del motor, donde incluso una menor latencia puede tener resultados catastróficos. Por otro lado, el uso de un HRT en sistemas no críticos, como las emisiones transmitidas por streaming, darán lugar a que la HRT haga un trabajo extra y utilice recursos del sistema de manera excesiva e innecesaria.
Requisitos
Un RTOS necesita tener una mayor capacidad de multitarea que un no-RTOS para que pueda priorizar los múltiples hilos de proceso. El tamaño de un RTOS significa que puede proporcionar un mayor rendimiento que un no-RTOS ya que utiliza menos multitarea en general, pero esto no es una regla. Las otras partes del sistema informático, incluyendo el CPU y la memoria, determinan la eficacia de un RTOS. Debido a la compleja programación en un RTOS, este requiere más código para ejecutarse con eficacia que un no-RTOS, por lo cual requiere más espacio en un sistema informático.
Velocidad
Un RTOS utiliza algoritmos avanzados para programar tareas. Esto le permite la flexibilidad que necesita para dar prioridad a las aplicaciones, pero también significa que requiere mayores recursos y tiempo. Durante un período de tiempo dado, un RTOS tiende a completar menos trabajo que un no-RTOS. Un RTOS a menudo tiene que acceder a los componentes como los controladores de dispositivos, lo cual influye en la cantidad de tiempo que tarda en completar ciertas tareas. Además, un RTOS requiere más señales de interrupción que un no-RTOS. Una interrupción mide el tiempo que pasa entre el momento en que un sistema operativo crea la interrupción y cuando la procesa. Un RTOS necesita garantizar un tiempo máximo que puede tomar para procesar la interrupción.
Referencias
- ChibiOS/RT: Conceptos de RTOS
- California State Univerity, Northridge: Aplicaciones incorporadas (PDF)
- Tech Target: Sistema operativo en tiempo real
- Cornell University: Organización de programa para microcontroladores AVR
- National Instruments: ¿Qué es un sistema operativo en tiempo real (RTOS, por sus siglas en inglés)?