Implementación de Sistemas Operativos de Tiempo Real PDF

Title Implementación de Sistemas Operativos de Tiempo Real
Author Walter Hc
Course Sistemas Operativos Avanzados
Institution Universidad Siglo 21
Pages 7
File Size 327.4 KB
File Type PDF
Total Views 133

Summary

Download Implementación de Sistemas Operativos de Tiempo Real PDF


Description

Implementación de Sistemas Operativos de Tiempo Real

Sistemas Operativos Avanzados

Implementación de sistemas operativos de tiempo real Introducción Un sistema operativo de tiempo real es aquel que ha sido diseñado para ejecutarse en entornos de tiempo real; estos cuentan con determinadas condiciones que los hacen particularmente sensibles a las respuestas que el sistema brinda y, sobre todo, al tiempo en el que las brinda. Por eso, se requiere exactitud en sus respuestas y que siempre cumplan con el tiempo en el que son necesarias esas respuestas. Si estas no llegan a tiempo, se dirá que el sistema ha fallado. En esta situación es vital que el sistema sea predecible. Los sistemas operativos de tiempo real deben destacarse en estas cinco áreas generales:  Determinismo.  Sensibilidad.  Gestión del usuario.  Confiabilidad.  Tolerancia a fallas.

Determinismo Cuanto tiempo consume un Sistema Operativo en reconocer una interrupción. Sensibilidad Está relacionada con cuánto tiempo demora un sistema operativo de tiempo real en obtener las respuestas que le son requeridas una vez que ha detectado las señales que le exigen dichas respuestas. El ISR (en inglés, interrupt service routine) es un programa de servicios de interrupciones y se encarga de reconocer la interrupción y actuar en consecuencia. El tiempo de respuesta dependerá del hardware subyacente, y puede haber una demora en entornos donde las interrupciones llegan con demasiada frecuencia.

2

Gestión del usuario Es relevante que el usuario sea capaz de gestionar las tareas y sus prioridades con precisión. Confiabilidad Los sistemas operativos de tiempo real son vulnerables a determinadas fallas, sobre todo las relacionadas al tiempo de respuesta, por lo que no pueden permitirse situaciones fallidas como en los sistemas tradicionales. Tolerancia a fallas Un sistema operativo de tiempo real debe ser estable durante toda la ejecución, y en caso de que no pueda responder una petición, deben respetarse las prioridades, es decir, todos sus recursos deben responder ante las tareas más críticas y con mayor prioridad. Para poder alcanzar los requisitos establecidos en los sistemas operativos de tiempo real actuales, es necesario incluir algunas características que se detallan a continuación:  Alternancia entre procesos o hilos.  Pequeño cambio incremental (con pocas nuevas características).  Alta reacción para responder a interrupciones externas.  Comunicación entre procesos utilizando semáforos, señales y sucesos.  Grandes concentradores de datos para acumular datos a alta velocidad.  Planificación preferente basada en prioridades.  Minimización de los intervalos en los que están inhabilitadas las interrupciones (Sistemas operativos en tiempo real y Maemo, 2015).  Instrucciones básicas para demorar tareas durante un tiempo fijo y para detenerlas y reanudarlas de forma dinámica (DIEEC, s.f).

3

Las siguientes áreas utilizan sistemas operativos de tiempo real:  Conducción de trenes.  Gestión de tráfico aéreo.  Bolsas de valores.  Administración de refinerías.  Administración de laminadores.  Control de tráfico.

A continuación, nombramos algunos de los sistemas operativos de tiempo real más populares: 

VxWorks.



QNX.



LynxOS.



eCos (Linux).

Implementación de un sistema operativo de tiempo real Cuando hemos decidido implementar un sistema operativo de tiempo real para resolver alguna situación del mundo real, comenzamos a detectar qué problemas del diseño de este sistema enfrentaremos, ya que eventualmente tendremos una naturaleza concurrente, que es la caracterización de tareas de tiempo real, en la que deberemos atender:      

gestión eficiente de los recursos; alta fidelidad; tolerancia a fallas; alta integración con el ambiente a través de sensores y usuarios; alto rendimiento; predictibilidad (determinística y estadística).

4

Deberemos caracterizar las tareas. Para eso, podemos utilizar la siguiente clasificación:  Críticas y no críticas.  Periódicas y aperiódicas.  Esporádicas.

Perfiles de entornos de aplicaciones de tiempo real El estándar POSIX.1 (Portable Operating System Interface), las extensiones de tiempo real y la extensión de hilos (threads) constituyen un poderoso conjunto de interfaces que permiten implementar sistemas operativos de tiempo real capaces de dar respuesta a las necesidades de sistemas grandes con requerimientos de tiempo real, en los que el tiempo es un factor vital para el sistema (González Harbour, 2001). Sin embargo, para sistemas de tiempo real empotrados y pequeños sistemas sería deseable un subconjunto de estas interfaces. Podemos citar a los sistemas embebidos que tienen un hardware necesariamente reducido, lo que hace complicado implementar algunas capacidades particulares, como un sistema de archivo o espacios independientes de direccionamiento para procesos diferentes. “Los perfiles de entornos de aplicaciones de tiempo real (AEP según sus siglas en inglés) definidos en el estándar POSIX.13 nos proporcionan algunos servicios definidos. En el estándar POSIX.13 se han definido cuatro AEPs de tiempo real: …” (González Harbour, 2001, p. 15)

1) Sistema mínimo: un sistema embebido que no cuenta con un MMU (en inglés, memory management unit), es decir, una unidad de manejo de memoria, tampoco posee un sistema de archivos (no tiene disco) y no tiene la posibilidad de agregar dispositivos de entrada/salida. Solo corre un único proceso, aunque pueden ejecutarse varios hilos en forma concurrente. 2) Controlador de tiempo real: corresponde a un sistema controlador de propósito especial. Es como el perfil mínimo, pero añade un sistema de archivos y una terminal de entrada/salida. Solo se permite un proceso, aunque se permiten múltiples threads (González Harbour, 2001).

5

3) Sistema Dedicado: Corresponde a un sistema empotrado grande, sin sistema de archivos. Puede tener múltiples procesos y múltiples threads (González Harbour, 2001). 4) Sistema Multi-Propósito: Corresponde a un sistema grande de tiempo real con todos los servicios soportados (González Harbour, 2001).

La Tabla 1 resume las principales características de cada uno de los perfiles de tiempo real. Tabla 1: Características de los perfiles de tiempo real (POSIX tiempo real)

Fuente: González Harbour, 2001, p. 16

Con los perfiles de tiempo real que hemos descripto, pueden llevarse a cabo sistemas operativos de tiempo real que se adecuan al estándar POSIX y tienen la posibilidad de utilizarse en una diversidad de plataformas que poseen diferentes tamaños y diferentes requisitos. Las aplicaciones podrán ser portables de una plataforma a otra, siempre que sean conformes al mismo perfil, o que la nueva plataforma incluya todos los servicios de la anterior (González Harbour, 2001). Por ejemplo, una aplicación podrá ser portada de un sistema mínimo a un sistema con perfil de controlador de tiempo real o a una plataforma con el perfil de sistema dedicado. Es posible, por lo tanto, que una aplicación desarrollada sobre un sistema embebido reducido pueda ejecutarse sobre un sistema que cuente con todos los servicios y que, incluso, permita el análisis de las diferentes ejecuciones. Se prevé que en el futuro estarán disponibles en el mercado núcleos que tengan los perfiles POSIX y que aumenten la portabilidad de estos.

6

Referencias DIEEC (s.f.). Sistemas en Tiempo Real. Recuperado de: http://www.ieec.uned.es/investigacion/Dipseil/PAC/archivos/Informacion_ de_referencia_ISE4_2_2.pdf González Harbour, M. (2001). POSIX de tiempo real. Recuperado de https://www.istr.unican.es/publications/mgh-1993b.pdf Sistemas operativos en tiempo real y Maemo. (2015). Recuperado de: https://chsos20152912029.wordpress.com/tag/clases-de-rtos/

7...


Similar Free PDFs