miércoles, 18 de febrero de 2009

Sistemas Operativos en Tiempo Real

Los sistemas operativos en tiempo real o RTOS (Real-Time Operating System), son sistemas los cuales manejan sucesos o eventos de gran importancia, por lo que deben cumplir con sus tareas bajo ciertas restricciones, es decir, que este tipo de sistemas deben dar prioridad a los procesos según la importancia que se determina dependiendo la lógica del negocio, el uso de prioridades no lleva a una característica de este tipo de sistemas es el de expropiación de recursos cuando un proceso de prioridad alta así lo necesite. El retraso de sus tareas pueden llegar a significar grandes grandes perdidas monetarias o en el peor de los casos la perdida de vidas humanas. Algunos ejemplos de este tipo de sistemas los podemos encontrar en sistemas de control de trenes, telecomunicaciones, sistemas de fabricación integrada, sistemas de producción y distribución de energía, etc. Asi como RTLinux (RealTime Linux), QNX, VxWorks, Solaris, Lyns OS, Spectra, LynxOS, RedHat Embedded Linux. SOOS. Ubuntu Studio. Son sistemas operativos que cumplen con estas características y que normalmente son implementados en los diferentes ambientes que mencionaba donde la demanda de eventos y sucesos es alta.


El Objetivo principal de estos sistemas es proporcionar minimizar los tiempos de respuesta de cada petición o tarea por medio de algoritmos de de planificación, los cuales definen que tareas deben ejecutarse en cada momento, por ejemplo de estos algoritmos seria el algoritmo de rate monotonic, Otro aspecto que se debe tomar en cuenta que la planificación puede depender si utilizamos un algoritmo de planificación estático o dinámico para saber si las prioridades de las tareas variarán o no.






De esta forma el sistema puede llegar a reducir el tiempo de espera de las tareas, la tolerancia de este tiempo depende del tipo de sistema que implementemos, existen principalmente dos tipos, los cuales son::








  • Sistemas Criticos (Hard Real Time):

Las tarea de este tipo deben cumplir siempre las tareas en el tiempo requerido (es decir que la tardanza debe tender a 0) de lo contrario los resultados pueden llegar a ser desastrosos



  • No criticos (Soft Real Time):

Este tipo se puede definir como cuando un sistema debe responder de una forma determinista, pero las restricciones temporales no son tan estrictas como el tipo anterior, este si maneja un cierto nivel de tolerancia con respecto a los atrasos . Porejemplo, sistemas de comunicación donde el retraso en la entrega de unpaquete de voz puede tolerarse descartándolo y procesando el siguiente.


Un ejemplo real es el caso del Sistema operativo LynxOS, el cual en una ocacion fue solicitado para implementarse en la central de correo de los Estados Unidos, debido a que las tareas que se necesitaban eran demasiadas y el tiempo de entrega muchas veces dependía del sistema, al parecer un problema con las características para las cuales fueron creados este tipo de sistemas así que LynxOS pudo ayudar a poner orden en un institución con tanto trabajo como lo es la central de correos. (http://www.lynuxworks.com/corporate/news/success/scio.php3)


En conclucion, existen diferentes tipos de sistemas para diversas necesidades, las actividades mas exigentes que requieren respuestas inmediatas y que cuentan con poca tolerancia necesitan este tipo de sistemas, por lo que sabiendo las necesidades del entorno y sus prioridades podemos definir la mejor utilización de los recursos por medio de algoritmos de planificación u otras estrategias que nos ayuden a minimizar los tiempos de respuesta.



Referencias:



http://es.wikipedia.org/wiki/Sistema_operativo_de_tiempo_real

http://marte.unican.es/projects/MC68332_port/port_marte_os.pdf

http://exa.unne.edu.ar/depar/areas/informatica/SistemasOperativos/MonogSO/PLAPRO02_archivos/caracteristicas_de_los_s.o._en_t.r..htm

http://www-gti.det.uvigo.es/~pedro/pub/sodtr/

http://www.pablin.com.ar/electron/info/portos/