sábado, 26 de marzo de 2011

Sistemas Operativos de Tiempo Real (RTOS) (Tarea 4)


Arquitecturade un SistemaOperativo de PropósitoGeneral

La memoria física de un computar esta dividida entre el espacio reservado para los usuarios (“user-space”) y el espacio reservado para el kernel (“kernel-space”). El kernel multitarea es capaz de manejar múltiples aplicaciones de usuarios que ejecutan en el espacio de usuario haciendo creer a cada uno que dispone de todo el espacio de memoria y de todos los recursos hardware. La comunicación entre los programas en el espacio de usuario y el espacio del kernel se realiza a través de las llamadas al sistema.Todos los accesos a los recursos hardware son controlados por el kernel.

Diferencias entre los sistemas operativos convencionales y los de tiempo real


      Los sistemas convencionales proveen un nivel de servicio adecuado a las aplicaciones que requieran una respuesta en un intervalo de tiempo determinado.

·         
En los sistemas convencionales la comunicación entre los programas en el espacio de usuario y el espacio del kernel se realiza a través de las llamadas al sistema.
·         
En  En un sistema convencional todos los accesos a los recursos hardware son controlados por el kernel de modo que los programas de usuario no conozcan los detalles físicos de los dispositivos.


·         Todos los sistemas operativos tienden a tener una baja latencia y un bajo jitter, pero los sistemas operativos de tiempo real requieren que esos valores estén determinados y que no dependan de la carga del sistema.
·         
La característica principal de los sistemas operativos de tiempo real es la respuesta ante eventos internos o externos, tales como interrupciones hardware externas, interrupciones software internas o interrupciones de reloj internas, es decir los requerimientos temporales.


·         El criterio fundamental de evaluación del rendimiento de un sistema operativo de tiempo real es la latencia y el periodo del jitter ante un evento. Un evento es cualquier tipo de interrupción, tanto interna, como externa.


·         La parte fundamental para convertir un sistema operativo de propósito general en un sistema operativo de tiempo real es el manejo de las interrupciones.



Rendimiento de un sistema


                                           Aplicación                         Latencia/Jitter
estándar OS                         Nom Real-Time                  100μs to 100ms
estándar Linux (>2.5.X)        Soft Real-Time                   1ms
IEEE 1003.1d                        Hard Real-Time                  10 to 100μs
Micro-Kernel                         Hard Real-Time                  1 to 10μs
RTOS Kernel                         Hard Real-Time                  1 to 10μs

Distribuciones

Clasificación



Descripción

ADEOS – Adaptative Domain Environment Operating Systems

El objetivo de ADEOS es proporcionar un entorno flexible para compartir los recursos hardware para múltiples sistemas operativos ó múltiples instancias de un mismo sistema operativo.
ADEOS activa múltiples kernels, llamados dominios, que existen simultáneamente sobre el mismo hardware. Ninguno de éstos dominios necesariamente conoce la existencia del resto, pero todos ellos si conocen de la existencia de ADEOS. Un dominio puede ser un Sistema Operativo completo, pero no necesariamente. 
Actualmente ADEOS permite compartir las interrupciones hardware.

Real Time Application Interface

RTAI es una implementación de Linux para tiempo real basada en RTLinux. Añade un pequeño kernel de tiempo real bajo el kernel estándar de linux y trata al kernel de linux como una tarea con la menor prioridad. RTAI además proporciona una amplia selección de mecanismos de comunicación entre procesos y otros servicios de tiempo real.
Adicionalmente, RTAI proporciona un módulo llamado LXRT para facilitar el desarrollo de aplicaciones de tiempo  real en el espacio de usuario.

RTLinux

RTLinux es un sistema operativo de tiempo real que ejecuta Linux como un thread de menos prioridad que las tareas de tiempo real. Con este diseño, las tareas de tiempo real y los manejadores de interrupciones nunca se ven retrasados por operaciones que no son de tiempo real.
La primera versión de RTLinux estaba diseñada para ejecutarse en la plataforma x86 y proporcionaba una  pequeña API y un pequeño entorno de programación. La versión 2, que fue totalmente reescrita, fue diseñada para el soporte de multiprocesamiento simétrico (SMP) y para ser ejecutada en una amplia variedad de arquitecturas.
RTLinux proporciona la capacidad de ejecutar tareas de tiempo real y manejadores de interrupciones en la misma máquina que el Linux estándar. Estas tareas y los manejadores ejecutan cuando se necesitan en detrimento de lo que estuviera ejecutando Linux. El peor caso de tiempo es entre que se detecta la interrupción hardware y el procesador ejecuta la primera instrucción del manejador de la interrupción. Este tiempo es del orden de los 10 microsegundos en la plataforma x86.

ART Linux

ART Linux es una extensión de tiempo real sobre Linux basado en RTLinux y desarrollado por Youichi Ishiwata.

KURT – Kansas University Real Time

KURT junto con UTIME es una extensión al kernel estándar de Linux para proporcionar, bajo demanda, resolución de microsegundos en los relojes y planificación de tiempo real.

Linux/RK – Linux/Resource Kernel

Linux/RK significa Linux / Resource Kernel y consiste en incorporar extensiones de tiempo real a Linux mediante una abstracción llamada recurso kernel.

Qlinux

Qlinux es un kernel de Linux que proporciona calidad de servicio garantizada para requerimientos de tiempo real flexible. Por tanto no es un sistema operativo específico de tiempo real, sino que esta orientado hacia aplicaciones multimedia que requieren una determinada calidad de servicio.

RED-Linux

RED-Linux es una versión de Linux para tiempo real y embebida. Proporciona capacidades adicionales al kernel
estándar de Linux para proporcionar comportamiento de tiempo real.

BlueCat RT

BlueCat RT es una versión de Linux para tiempo real y embebida. Es una solución híbrida entre el sistema operativo embebido BlueCat (LinuxWorks) y el sistema RTLinux/Pro (FSMLabs).

RedHawk

Es una versión de tiempo real del código abierto de Linux desarrollada por la empresa Concurrent Computer
Corporation's RedHawk bajo los estándares industriales y POSIX. RedHawk es compatible con la distribución Red Hat Linux proporcionando alto rendimiento de entrada/salida, tiempo de respuesta garantizado a evento externos y comunicación entre procesos optimizada.
RedHawk es ideal para ambientes con complejas aplicaciones de tiempo real como pueden ser la simulación, la
adquisición de datos ó los sistemas de control industrial.

REDICE-Linux

REDICE-Linux es un kernel de tiempo real que combina la planificación de tiempo real estricto y un kernel prioritario con la baja latencia de un completo kernel de tiempo real estricto como es el de RTAI. Es decir, combina ambas tecnologías de diseño de sistemas operativos de tiempo real.
REDICE-Linux es un sistema operativo embebido ideal para aplicaciones de internet, dispositivos de redes, dispositivos médicos, industriales, adquisición de datos, control de máquinas y otros donde el tiempo es crítico, además de aplicaciones que requieran una determinada y garantizada calidad de servicio.

TimeSys Linux

TimeSys Linux es más que una distribución de un kernel de tiempo real, es un conjunto completo de herramientas para el desarrollo de aplicaciones de tiempo real de forma cómoda y rápida. Es una distribución para sistemas embebidos.

Linux-SRT

Linux-SRT es una extensión al kernel de Linux que inició el camino hacia la ejecución de aplicaciones de tiempo real. El kernel estándar de Linux no era un sistema operativo multimedia, no garantizaba que el audio, el vídeo u otro proceso crítico ejecutará con una transferencia fijada, por eso nació este proyecto con el objetivo de crear un sistema operativo
multimedia que proporcionara una calidad de servicio determinada, pero no estricta, de ahí el nombre, Linux-SRT (soft real time). No es adecuado para sistemas críticos. Este proyecto se ha abandonado actualmente debido al laborioso proceso de modificación del kernel.

Mapa Mental de los RTOS






1. Zamarron L. D. (2004) Analisis de Sistemas Operativos de tiempo Real Libres. GNU free document license.

No hay comentarios:

Publicar un comentario