Está en la página 1de 3

Sistemas embebidos

El sistema operativo de tiempo real QNX Neutrino


Por David Ramos
Software Product Manager. Tempel S.A.

Con la aparicin de las aplicaciones embarcadas (embebidas), ordenadores de dimensiones reducidas, se abre un nuevo campo en cuanto a las necesidades de sistemas operativos. Los ordenadores embarcados son sistemas que suelen tener limitaciones en espacio y estn sometidos a condiciones extremas como vibraciones, cambios de temperatura, etc. En ocasiones, el nmero elevado de mquinas utilizadas en un proyecto convierte el coste del hardware en un elemento de mxima relevancia Tradicionalmente, los sistemas operativos de tiempo real han tenido un mbito reducido a cierto tipo de aplicaciones clsicas, avinica, militares, telefona, etc. Con las nuevas necesidades surgidas en el desarrollo de aplicaciones y proyectos y la preocupante falta de fiabilidad y robustez que ofrecen los sistemas Windows de Microsoft, as como los elevados recursos hardware que necesita, se abren las puertas para una nueva generacin de sistemas operativos. Con estas nuevas necesidades se han divulgado con mayor facilidad los sistemas operativos con capacidad para ser embarcados, cargados en un disco de estado slido y ocupando muy poco espacio. Tempel S.A. lleva ms de 15 aos en el mercado de la automatizacin industrial y la obra civil, colaborando en mltiples proyectos con grandes ingenieras. Despus de realizar un anlisis de mercado sobre los sistemas operativos de tiempo real y embarcables que se encuentran en el mercado, la apuesta de Tempel es clara: QNX Neutrino.

Para potenciar los desarrollos Software y la colaboracin con empresas, Tempel ha creado el grupo Software, con personal tcnico especializado para poder dar un soporte de calidad, como corresponde a un sistema operativo de mxima capacidad, y a unas herramientas software de alto rendimiento. Qu es QNX? Se trata de un sistema operativo de tiempo real, multitarea, multiusuario y multiplataforma que cumple la norma POSIX de estndar UNIX. Con QNX se acaban las preocupaciones sobre la robustez del sistema a las que estamos acostumbrados en los sistemas Windows. Hay mquinas QNX trabajando ininterrumpidamente durante aos sin que sea necesario resetear el equipo. La arquitectura de QNX y los principios seguidos en su desarrollo, ofrecen una herramienta sumamente potente para soportar aplicaciones crticas con un hardware bastante ajustado. Arquitectura MicroKernel La base de todo sistema opera-

tivo es el ncleo. El ncleo de QNX est diseado para proporcionar tiempo real y para tener una mxima capacidad a la hora de disear aplicaciones a medida para hardware embarcado, donde el espacio disponible para almacenamiento es crtico.

El kernel de QNX o mejor, el MicroKernel de QNX, ocupa tan slo 12 K, proporcionando los servicios bsicos del sistema operativo. Los servicios complementarios se irn implementando con los diferentes gestores que se pueden adicionar sobre la base del ncleo. El Kernel se encarga de gestionar toda la asignacin de tiempos de CPU a cada uno de los procesos, consiguiendo unos tiempos de latencia y de interrup-

Marzo 2001

Sistemas embebidos

determinado fabricante de hardware que proporcione la imagen del sistema operativo junto con la tarjeta. Es necesario tener en cuenta, adems, la facilidad para el desarrollo de drivers para otras tarjetas comerciales o para tarjetas propietarias. Entornos de desarrollo El entorno de desarrollo ms utilizado para QNX es QNX RTP. Permite desarrollar aplicaciones dentro de un modo grfico. La herramienta ms potente es Photon application Builder, un entorno de desarrollo para aplicaciones grficas similar a Visual C++. Tambin es posible desarrollar las aplicaciones desde la lnea de comandos, como en la mayora de los sistemas UNIX. El compilador seleccionado para la nueva versin es GNU, buscando la mxima compatibilidad LINUX y la posibilidad de utilizar un solo compilador para todas las plataformas soportadas por QNX.

cin, as como el cambio de contexto, en un tiempo inferior a tres microsegundos en un Pentium-200. Podemos hablar por tanto de tiempo real estricto. Esta arquitectura es la que proporciona una mxima flexibilidad a la hora de la definicin de las partes del sistema operativo que se vayan a utilizar en cada aplicacin. Proteccin de Memoria Otro gran elemento diferenciador de QNX Neutrino reside en la proteccin de memoria MMU para todos los procesos del sistema. Tan slo el ncleo est trabajando en modo Kernel. Drivers, gestores, aplicaciones, todos ellos trabajan en modo protegido. La principal consecuencia es clara: si se produce un fallo en el sistema, nicamente perderemos el proceso que haya fallado, nunca la totalidad del sistema operativo. Los drivers, evidentemente, no van compilados con el Kernel como sucede en otros sistemas tipo UNIX, pudiendo ser probados directamente en la mquina de desarrollo sin tener la necesidad de compilaciones del ncleo. Se dispone de un WatchDog por software que nos ayudar a supervi-

sar los procesos crticos, y llegado el caso nos ayudar en la depuracin de posibles fallos en el desarrollo. En el caso de que un proceso falle, el watchdog se encargar de relanzarlo automticamente si as nos interesa. Entorno grfico El entorno grfico, muy mejorado en la versin de Neutrino, tambin est basado en un Kernel mnimo, poco ms de 47 K. Sobre este reducido ncleo se puede disear toda una aplicacin grfica. Este entorno grfico se denomina Photon, y presenta un entorno muy similar a Windows o a X-Windows. El sistema operativo ideal para sistemas embarcados Por todos estos motivos debemos pensar en QNX Neutrino como el sistema operativo ideal para aplicaciones embarcadas. A diferencia de otros sistemas operativos, es posible obtener una imagen embarcada sin demasiada experiencia en este campo. En otros sistemas operativos, como Windows CE, es una labor realmente dura, y en mltiples ocasiones hace dependiente el proyecto de un

Como principal novedad dentro del entorno de desarrollo, hay que destacar que la versin QNX RTP se distribuye de manera gratuita para uso privado o para empleos no comerciales. Prximamente estarn disponibles los entornos de desarrollo para

Marzo 2001

Sistemas embebidos

QNX Neutrino soportados por Linux, Solaris y Windows. En el caso de Windows, la herramienta que se utilizar, actualmente se encuentra en sus ltimas versiones Beta: ser CodeWarrior. Un elemento adicional a tener en consideracin es la posibilidad de tener acceso al cdigo fuente de muchos drivers y aplicaciones desarrollados para QNX, lo que facilita enormemente el trabajo. Existe igualmente una pgina Web para desarrolladores, donde se puede encontrar toda la documentacin del sistema operativo de tiempo real (RTOS) QNX Neutrino. Conectividad La conectividad es un factor decisivo a la hora de seleccionar un sistema operativo. QNX Neutrino presenta la posibilidad de trabajar con TCP/IP, ofreciendo de este modo mxima conectividad con sistemas Windows y otros sistemas UNIX, as

como las mximas posibilidades en el mundo de Internet. Dispone incluso de un servidor de pginas Web embarcable, que posibilita la visualizacin y gestin remota de equipos a travs de un navegador cualquiera. Tambin es posible conectarse a servidores NT para ejecutar aplicaciones Windows en la mquina QNX y viceversa, trabajar desde Windows con el entorno grfico de QNX. Por ltimo QNX incluye un completo sistema de gestin remoto de mquinas en un entorno propietario, con su propio protocolo de red, que permite el balance de cargas, la redundancia de redes, etc. Compatibilidad Linux Linux se presenta como un excelente sistema operativo de propsito general. El ncleo de Linux se encarga de distribuir el tiempo de CPU entre todos los procesos que requieren del mismo. Este tipo de gestin del tiempo de CPU es ideal para servidores de aplicaciones, Internet, etc. No lo es, en cambio, para sistemas en los que nos interese priorizar los diferentes

procesos. Es estos casos es necesario recurrir a sistemas operativos de tiempo real. Es cierto que existen extensiones de tiempo real para Linux, pero entonces se desvirta el principio de este sistema operativo. En la mayora de las ocasiones tendremos el ncleo de Linux corriendo como un proceso adicional dentro de un segundo ncleo que ser el que priorice los procesos. Para lograr un objetivo, tiempo real en este caso, no hay nada mejor que utilizar herramientas desarrolladas desde un principio para tal objetivo, un sistema operativo de tiempo real. Debido a la existencia de multitud de aplicaciones de gran calidad y relevancia dentro del mundo Linux, el sistema operativo en tiempo real QNX Neutrino presenta un grado de compatibilidad mximo, para facilitar la migracin de aplicaciones Linux a QNX. De esta forma las aplicaciones desarrolladas para Linux pueden ejecutarse en un verdadero entorno de tiempo real. Qu empresas trabajan con QNX? Existen mltiples aplicaciones en el mercado desarrolladas con QNX Neutrino y con versiones anteriores de QNX. Entre las prestigiosas empresas conocidas a nivel mundial que han desarrollado aplicaciones con este sistema operativo de tiempo real, podemos citar las siguientes: CISCO; IBM, 3COM; Philips; NASA; INDRA; FCC, etc. Para obtener mayor informacin sobre QNX o sobre los sistemas de control software para automatizacin suministrados por TEMPEL S.A., los interesados pueden contactar t con: Marketing@tempel.es

Marzo 2001

También podría gustarte