Indice
1. Introducción
2. Primer conferencia
3. Actualidad
4. Un poco de historia
5. Preguntas y respuestas
6. QNX en la batalla contra las pruebas nucleares
7. Misión Critica
8. La Filosofía de QNX
9. El Microkernel
10. El Administrador del Procesos
11. I/O Namespace
12. El Administrador del Filesystem
13. El Administrador del Dispositivo
14. Administración de memoria
15. El Administrador de la Red (Qnet)
16. Photon MicroGUI
QNX Software Systems Ltd. fue fundada en 1980 por Gordon Bell y Dan Dodge para desarrollar, mantener y poner en el mercado el sistema operativo de tiempo real QNX que corre bajo procesadores INTEL: 386, 486, Pentiums y sus clones como AMD, Nat Semiconductor, Cyrix y SGS Thompson.
Aún hoy Dan Y Gordon participan en la codificación y desarrollo del sistema operativo QNX.
Siendo totalmente privada y auto-financiada la compañía ha sido redituable todos y cada uno de los años. También ha gozado de un crecimiento excepcional. De hecho, durante la década pasada, expandió sus cuarteles generales cuatro veces su tamaño para manejar el aumento de personal y de producción. Actualmente tiene alrededor de 150 empleados y con un ingreso anual aproximado de $ 24.000.000 por año en ventas. Tiene alrededor de 40 socios distribuidores que sirven a casi 100 países en todo el mundo. Para brindar soporte a la red de distribución en Europa tiene una división, QNX Europe, ubicada cerca de Londres, Inglaterra.
El cuartel general que aloja facilidades para R&D, ventas y marketing y entrenamiento del cliente se ubica en "Silicon Valley North" justo en las afueras de Ottawa, Canada.
Durante más de 20 años, nosotros hemos estado sirviendo las necesidades complejas del mercado del tiempo real (necesidades como alta fiabilidad, superior performance, funcionalidad sofisticada, y masiva escalabilidad). Esto es porque las compañías como 3Com, Motorola, Cisco, Matsushita, IBM, y otros escogen tecnología de QNX para ayudarles a construir aplicaciones fiables en electrónicos, telecomunicaciones, sistemas automotores, instrumentación médica, transporte, puntos de venta, y telefonía. Los productos de QNX son distribuidos en más de 100 países a nivel mundial.
Sus Fundadores
QNX fue creado por dos fundadores y co-presidentes Gordon Bell y Dan Dodge. Existe la leyenda que las primeras ideas surgieron en la época en que se encontraban en la universidad de Waterloo. A principio de los 80 comenzaron a trabajar en un pequeño SO basado en un kernel con pasaje de mensajes cuya interfase de usuario se parecía a la UNIX. Los prototipos eran dos procesadores un 6809 construido por Dan y un 8088 construido por Gordon. Al principio de los 80 IBM lanzó su IBM PC basada en el 8088 y ahí comenzó la carrera. Cerca de 6 meses después de que IBM hiciera su lanzamiento Dan y Gordon hicieron conocido su producto con un aviso en una PC Magazine. Ellos denominaron a su producto QUNIX, dado que era un "Quick UNIX". Llamaron a su compañía Quantum Software Systems Limited. El nombre QUNIX duró un año o dos hasta que recibieron una notificación de AT&T de que debían cambiarlo. Siempre listos para un desafío, cambiaron la forma de escribirlo a QNX pero no cambiaron su pronunciación(se supone que QNX se debe pronunciar "quiunix").
Primeros Pasos
Las primeras betas que se lanzaron no tenían multitasking pero corrían en una IBM PC con solo 64 k de RAM y un floppy de 180k. Después de unos pocos meses se lanzó la versión 1.0 que si soportaba multitasking. Aunque parezca increíble los 64 k de memoria eran suficientes para correr el SO, una shell y aún compilar programas. Es más, es posible que incluso se pudieran hacer trabajos en background, como imprimir un archivo. Un relativamente pequeño grupo de usuarios ambiciosos trabajó con los desarrolladores para reportar bugs y agregar mejoras. Este grupo de personas aún continúa usando QNX o trabajando en la compañía y dando convenciones sobre el producto.
IBM
A medida que el hardware para la IBM PC bajó de precio, los usuarios pudieron aumentar su memoria RAM hasta llegar a los 640k. Dado que esta era una gran cantidad de memoria para QNX, lo que se hacía comúnmente era crear un ram disk de 256k para acelerar la compilación.
Luego aparecieron los floppies de 360K, y los desarrolladores necesitaban dos: uno para alojar el SO y sus utilitarios y el otro para los archivos de entrada de datos.
El próximo gran paso para QNX fue la IBM AT. Las primeras modificaciones permitieron el uso de un procesador mucho más rápido, el 80286 que corría a 6MHz. 6 semanas más tarde ya soportaba el modo protegido. Debido a una impresionante visión de futuro algunos programas soportaban el modo protegido sin necesidad de ser modificados y de hecho ni siquiera se necesitó recompilarlos, a cambio de otros SOs. Siguiendo algunas pequeñas reglas, incluso los drivers podían correr en cualquiera de ambos modos. De esta manera las aplicaciones se hicieron mucho más estables, impidiendo que alguna tarea haga fallar a todo el sistema.
Casi al mismo tiempo de las 286 apareció la QNX Network. Todavía hoy se reportan antiguas versiones de las primeras tarjetas integradas de QNX funcionando.
La primera conferencia fue realizada a mediados de los 80’s en Ottawa. Muchas compañías comenzaron a utilizar QNX en esta época, pero la mayoría en proyectos cuyas características técnicas no llegaban al nivel ejecutivo. Lo que importaba era que funcionaba y por esos días Microsoft anunciaba una nueva versión de DOS que sí iba de verdad, pero de verdad, sí de verdad a ser multitarea, el que fue la primera versión del OS/2.
En el momento en que aparecieron las 386 había otras versiones de UNIX dando vueltas, se comenzaba a hablar de Internet y del código de libre acceso de UNIX. ¿Qué podía hacer QNX para encajar en el mercado y al mismo tiempo distinguirse? La respuesta vino de la mano de POSIX.
Posix
POSIX es una familia de estándares que fueron desarrollados para describir las interfaces de usuario tipo UNIX. Los estándares oficiales POSIX fueron escritos y publicados por la IEEE. POSIX posibilita a los desarrolladores de SOs que sus programas sean compatibles en tiempo de compilación.
QNX soporta los estándares API, estándares de utilitarios y la mayoría de los estándares de tiempo real, conocidos como 1003.1, 1003.2 y 1003.3 respectivamente. QNX no soporta algunos estándares en el cual su inclusión provocaría una limitación en la potencia del SO.
QNX puede compilarse en POSIX sin forzarlo a perder sus subyacentes características de alta performance. Esto es posible porque POSIX describe la interfase, pero no tiene requerimientos en cuanto a su implementación. Esto resultó ser una brillante maniobra. Manteniendo su núcleo subyacente de pasaje de mensajes, QNX mantiene sus características de performance en tiempo real.
En este punto se pensó que si el SO iba a ser reescrito para seguir dichos estándares, porque no se lo podía hacer aún mejor. Entonces se solucionarían muchas de las limitaciones y los cuellos de botella de la versión QNX 2. Esto trajo controversia en algunas personas que deseaban que se siguiera manteniendo la compatibilidad con los viejos procesadores 8088.
Distintos tipos de RTOS
En el mercado actual, los sistemas operativos de tiempo real caen bajo tres categorías principales - ejecutivo de tiempo real, monolítico, y modelo de proceso universal. A continuación explicamos los tres tipos de configuraciones:
Ejecutivo de tiempo real:
Referido a veces por como "kernel" estos sistemas operativos siguen un modelo de sistema operativo de espacio de direccionamiento simple. Todos los módulos de software se alojan en el mismo espacio de direccionamiento que el núcleo del SO, sin protección de la memoria entre las tareas – ya sean tareas de la aplicación o tareas del sistema. Consecuentemente, un solo error de puntero en una aplicación puede corromper las estructuras fundamentales del código o de los datos, dando por resultado una falla general del sistema. Cuando ocurren este tipo de fallos de funcionamiento, puede tomar semanas o meses localizar la fuente, particularmente en sistemas complejos con centenares de módulos. Puede también llevar mucho tiempo agregar o modificar características, puesto que cada cambio del código significa que el núcleo (kernel) tiene que ser reconstruido y reexaminado.
Arquitectura monolítica:
Para corregir algunos de los problemas de la configuración "ejecutivo en tiempo real", algunos vendedores de RTOS han adoptado una arquitectura monolítica. En este modelo, el sistema operativo y todos los servicios fundamentales, tales como file system, residen en un monitor monolítico que se accede a través de un mecanismo de llamada al núcleo. Las llamadas al núcleo hacen la transición del modo aplicación (o usuario) al modo supervisor. Se proporciona protección de modo que solo se puede acceder a recursos del núcleo en modo supervisor; las aplicaciones se ponen en ejecución generalmente como procesos que tienen espacios de direccionamiento separados con protección entre ellos.
Con un monitor monolítico, los servicios fundamentales que requieran acceso a los recursos del núcleo deben residir en este. De esta forma, la complejidad del núcleo aumenta, aumentando la probabilidad de encontrar errores. Asimismo, el acceso a entrada-salida, al vector de interrupciones, y a la memoria física se puede restringir al núcleo por razones de la seguridad, lo que significa que la mayoría de los drivers de dispositivos deben residir en el núcleo. Cruzar la barrera kernel/aplicación es con frecuencia costoso, así pues, en algunos casos, los drivers que de otro modo se podrían poner en ejecución modo usuario, tal como drivers de gráficos, se incorpora en el núcleo por razones de performance. Mientras que las aplicaciones no pueden corromper el núcleo, cualesquiera de estos drivers de dispositivos pueden – aumentando la probabilidad de que ocurran errores fatales.
Modelo de proceso universal:
La configuración "modelo de proceso universal" describe un conjunto de características que se han asociado tradicionalmente a los sistemas operativos de microkernel. Bajo la configuración UPM, un conjunto pequeño de servicios de base reside en el núcleo - tal como mecanismos de comunicación entre procesos y de sincronización. Todo el código restante en el sistema se ejecuta en procesos separados con espacios de direccionamiento de memoria propios, protegidos entre sí. El pasaje de mensajes proporciona a un mecanismo de comunicación al software mediante el cual un proceso puede solicitar un servicio de otro. Los servicios convencionales del sistema operativo, incluyendo los de file system, networking, y drivers de dispositivos, se ponen en ejecución como procesos separados que se ejecutan en su propio espacio de direccionamiento de memoria, protegidos entre sí..
En el caso de los drivers de dispositivos, las rutinas de servicio de interrupciones se limitan a realizar las operaciones de ubicación necesarias, entonces se envía un mensaje asíncrono para activar el proceso que pone el driver de dispositivo apropiado en ejecución. Ya que el costo del paso de mensajes es mínimo, éste método puede competir con el monitor monolítico, evitando la necesidad de realizar demasiadas rutinas de servicio de interrupciones o de poner drivers de dispositivos en el núcleo para mejorar la performance. Dado que los drivers de dispositivos se ejecutan como procesos individuales, pueden también ser comenzados y detenidos sobre la marcha, o ser reiniciados en caso de que ocurra una falla.
Con la configuración de UPM, un fallo en una aplicación no puede dar lugar a un fallo general del sistema – a diferencia del "ejecutivos de tiempo real" - y la falla en un driver de dispositivo tampoco – a diferencia de los "sistemas operativos monolíticos".
QNX 4
Luego de lo que parecieron décadas de espera, se lanzó QNX 4.0, el cual para muchos de los usuarios fue como una beta. Finalmente con la versión QNX4.1 el sistema se volvió mucho más estable. Comenzaron a aparecer noticias sobre una nueva y rápida GUI, denominada Photon. Al poco tiempo apareció QNX 4.2 soportando programas de 32 bits.
QNX 4.24
En las últimas etapas de esta historia la compañía cambió su nombre a QNX Software Systems Limited, ya que el nombre Quantum se confundía con otras compañías de nombres similares y además QSSL quería identificar su nombre más con su producto.
Cuando la última versión QNX 4.24 apareció, la cual incluye a Photon, se lo comparó con una Ferrari con respecto al lento e inestable Win95.
QNX/Neutrino
Pero nada dura para siempre en el rápido mercado de la computación. El sucesor de QNX: QNX/Neutrino ya está disponible, más bien dirigida al mercado de los embebidos.
Futuro
Microsoft parecería que se ha metido en el corazón de todos los mercados corporativos con su producto NT. Lamentablemente ellos se metieron en la cabeza que un SO con una performance bastante pobre y con un Procesador lo suficientemente rápido se puede proveer de un RTOS. Que en realidad, si no les importa es más bien un "soft" RTOS. Tristemente este tipo de pensamiento le quita cierto segmento del mercado a QNX. La pregunta es ¿Tendremos tostadoras eléctricas que deban poseer un Gigabyte de RAM sólo para bootear su SO? El futuro no está escrito.
Alianzas estratégicas
El mercado competitivo de hoy está haciendo ciclos de diseño aun más corto y usando todo lo más importante. Para cortar el tiempo de nuestros clientes para comercializar y hacer sus productos los mejores de su clase, nosotros buscamos funcionalidad industrial específica que complementa nuestra tecnología de OS. De hecho, nosotros dedicamos mucho tiempo y esfuerzo a desarrollar y nutrir relaciones estratégicas con fabricantes de software y de hardware de todos los tipos (los líderes en tecnología del semiconductor, herramientas de desarrollo, protocolos de comunicaciones, y otros). Nuestra larga lista de socios incluyen a AMD, Ampro, Arcom, Force Computers, Hewlett-Packard, IBM, Intel, Metrowerks, Motorola Computer Group, Motorola SPS, NEC, National Semiconductor, PEP Modular Computer, STMicroelectronics, el Sun Microsystems, Sybase, Trillium, y Ziatech. Esta estrategia no sólo nos permite ofrecer los últimos estándares de industria (como CORBA) y las tecnologías más usadas de hoy (como Java), también aseguramos a nuestros clientes recibir una solución integrada cuando nosotros y nuestros socios continúan creciendo.
Filosofía comercial
Nuestro acercamiento a los negocios se basa en la creencia de que todo los tratos con nosotros deben ser simples y convenientes. Por ejemplo, nosotros hacemos nuestro software modular ,no solo por una cuestión técnica sino también de precio, de este modo el cliente pueden mantener los costos al mínimo comprando sólo los módulos que su aplicación necesita.
Nos esforzamos por hacer que nuestro servicio y soporte sean los mejores en el negocio. Se ofrece un servicio de conferencia on line las 24 hs, un directorio de soluciones de tercera partida y una conferencia internacional de tecnología. Nosotros brindamos cuatro niveles de asistencia técnica con varios grados en los servicios por teléfono, fax e e-mail. Y, finalmente, ofrecemos entrenamiento y servicios de consultoría.
Estrategia del producto
Cada vez nosotros desarrollamos un nuevo producto, nosotros tenemos dos metas en mente: reducir el tiempo de nuestros clientes para comercializar y minimizar sus costos. Para este fin, nuestros productos ofrecen:
Mayor funcionalidad en menos memoria:
QNX es el único OS que puede encajar un ambiente POSIX de tiempo real más un sistema completo de windowing en menos de 1M de ROM.
Completa escalabilidad:
Como un verdadero microkernel, QNX es totalmente escalable, así que usted puede usar el mismo OS para todo, desde la electrónica hasta los sistemas de control de manufactura. Incluso nuestro sistema embebido de windowing, el Photon microGUI, es basado en la arquitectura del microkernel. Como resultado, es fácil de construir un GUI para lograr el equilibrio correcto de tamaño y funcionalidad para virtualmente cualquier sistema designado.
Alta Performance:
Con velocidades de cambio de contexto que van de 1.88 microsegundos sobre un Pentium 133MHz hasta los 0.62 microsegundos sobre el más nuevo procesador de Motorola G4, QNX les permite a diseñadores entregar sistemas de tiempo real muy sensibles que encuentran una gama amplia de necesidades de precio-performance.
Conectividad sin costura:
QNX va más allá de TCP/IP y otras normas del conectividad tradicionales para ofrecer conectividad gráfica con Windows 95/98, NT, y X Windows. Como resultado, los diseñadores pueden crear aplicaciones QNX sin dejar de lado su OS de escritorio y puede cada target de las compañías estar designado a otras plataformas de OS.
Adhesión estricta a las normas:
Para aumentar al máximo la portabilidad y minimizar el tiempo de compra, QNX les permite a diseñadores trabajar con APIs estándar de la industria, incluso POSIX. QNX también apoya normas para el Internet, poder de dirección, protocolos de comunicaciones, y más.
Soporte para el último hardware de PC:
De la PC/104 hasta la CompactPCI, QNX soporta más hardware de PC que cualquier otro OS de tiempo real. De hecho, QNX trabaja con los centenares de periféricos, en forma directa.
Soporte Multiplataforma:
Altamente reconocido como el principal OS de tiempo real para los x86, QNX soporta ahora plataformas MIPS y PowerPC. Otras plataformas están bajo desarrollo.
Transparencia de la red:
Todos nuestros productos usan el pasaje de mensajes transparente de red de QNX para acceder todos los recursos del sistema. ¿El resultado? Un ambiente donde los diseñadores pueden poner a punto o pueden controlar los sistemas embebidos remotos de sus escritorios y donde el diskless PCs puede ser usado para reducir los costos del hardware drásticamente.
Líderes del mercado
Durante más de 20 años, los Sistemas de Software QNX han estado poniendo la norma para lo que un sistema operativo de tiempo real debe ser. Durante ese tiempo, el sistema operativo de tiempo real de QNX®, ha evolucionado siendo el primer microkernel para PCs con mejores ventas y el más elegido para las aplicaciones de misión crítica.
En esa evolución QNX ha sido un líder tecnológico. De su debut en 1981, QNX ha disfrutado numerosos triunfos tecnológicos. Por ejemplo, QNX fue el primer OS en integrar proceso distribuido transparente al PC, el primero con tolerancia a falla en la estructura misma, el primero en ofrecer un sistema de windowing de microkernel embebido, el primero con un browser de web de escritorio para los sistemas embebidos, y la lista continua. Ahora nosotros hemos tomado la misma arquitectura del microkernel y se aplicó también a MIPS y procesadores de PowerPC.
Nosotros somos una compañía de OS, pero nosotros también sabemos hay más que el aspecto de desarrollo que simplemente teniendo el OS correcto. Una solución completa es sólo importante al proceso de desarrollo, lo cual es por qué nosotros somos partícipes con los vendedores de herramienta de desarrollo más buenos en la industria.
Aplicaciones que van de los dispositivos embebidos para aplicaciones del servidor, con todo el beneficio de la fiabilidad que QNX ofrece. Por esta razón, y nuestro compromiso de performance y calidad, QNX ha ganado la confianza de compañías como Cisco, Philips, y Siemens para el uso en aplicaciones como las telecomunicaciones, instrumentación médica, y electrónica.
De hecho, más de un millón de copias del QNX OS está trabajando en casi 100 países a nivel mundial, pero nosotros no tenemos ninguna intención de detenernos allí. Nosotros estamos actualmente en el proceso de aumentar nuestra presencia mundial. Las oficinas en los Estados Unidos, Europa, y Asia unen nuestra oficina principal en Kanata, Canadá , junto con nuestra red mundial de distribuidores de QNX, que nos permitirá servir a tantos clientes en forma directa como sea posible.
Desde que QNX apareció por primera vez en el mercado en 1981, QNX Software Systems ha construido una impresionante trayectoria en el campo de las innovaciones tecnológicas.
Arquitectura de microkernel, procesamiento distribuido para PCs y trabajo en red con alta tolerancia a fallas se encuentran entre las tecnologías en las cuales hemos sido pioneros. Nuestra tradición de productos innovadores continúa con el ganador de premios Photon MicroGUI, un sistema con todas las características de las ventanas y aún un sistema totalmente embebido; con QNX/Neutrino, nuestro nuevo microkernel para POSIX para sistemas profundamente embebidos; y con Voyager, el primer buscador de escritorio para la web para sistemas embebidos.
Lideramos la industria del tiempo real no solo en innovación sino también en experiencia. Ningún otro vendedor de sistemas operativos de tiempo real tienen 16 años sobre plataformas x86. Como resultado ningún otro SO de tiempo real ofrece más opciones para este entorno.
QNX también lidera la industria en esta parte del mercado. De acuerdo a un artículo reciente del Emerging Technologies "QNX software systems tiene la porción de mercado más grande de los SO de tiempo real dentro del mercado de las Intel x86". IDC Consulting y First Technology han encontrado resultados similares. De acuerdo con su reciente reporte Industry Report, QSSL tiene alrededor del 22% del mercado, mientras que el próximo mayor competidor tiene tan sólo el 11%.
Nuestros productos y servicios responden a las distintas necesidades de los diseñadores de tiempo real en ambientes críticos. Nosotros entendemos las necesidades especiales de los revendedores (VARs) y de los fabricantes de equipos originales (OEMs) en el mercado de los embebidos. Como resultado, nosotros hemos establecido una base firme en muchos mercados verticales, incluyendo automatización industrial, puntos de venta, telecomunicaciones, y la instrumentación médica. Más recientemente, la confiabilidad de nuestros productos se ha extendido hasta el límite más bajo del mercado de los embebidos, los electrónicos de consumo ( teléfonos para Internet, etc) , la tecnología automotor (como la navegación, dispositivos de control y monitoreo), y dispositivos manuales, por nombrar algunos.
Nuestros Clientes
Con centenares de miles de instalaciones mundiales, el os de tiempo real de QNX está trabajando en el transbordador espacial, en los reactores nucleares, etc.
Nuestros clientes incluyen a:
1981:
Primer SO de microkernel para PCs, soportado por la PC de IBM
1982:
Primer SO para PCs que soportó un disco rígido (5MB Davong)
1983:
Primer SO para PCs que corre en una 80286 en modo protegido
1984:
Los primeros en ofrecer procesamiento distribuido transparente para PCs
1985:
Primer SO de tiempo real que corrió en la primera 80386 de Compaq
1990:
Primer microkernel de SO de tiempo real certificado por POSIX
1992:
Primer SO de tiempo real para trabajar en red con tolerancia a fallos (FLEETTM)
1994:
Primer sistema de microkernel con ventanas embebible (el Photon microGUI)
1996:
Primer microkernel basado en POSIX para sistemas profundamente embebidos (QNX/Neutrino)
1997:
El primer buscador de escritorio para la web de sistemas embebidos (Voyager TM) 1998 primero en ajustar un OS, GUI, browser, servidor, marcador, TCP/IP, y más dentro de un disco de 1.44M (1.44M Disco de Demostración)
2000:
Primero en ofrecer un host y plataforma gráfica para los diseñadores de OS embebidos
Premios obtenidos
Dan Dodge recibió en 1998 la medalla de honor Graham de la Universidad de Waterloo(Dan obtuvo su Master de Matemática en esta Universidad en 1981) por la categoría Computación e Innovación.
Voyager ganó el RTS(Real Time System) award. El software de acceso a Internet para TV Set Top Boxes y otros sistemas embebidos, ganó el premio a mejor producto de 1998 en la exhibición de París. Photon obtuvo el mismo premio pero en 1996. La modalidad de elección fue la siguiente: todo producto exhibido puede ser nominado, y los participantes del público votan por los distintos productos.
QNX ganó en 1997, por primera vez, el premio a mejor SO en la categoría de sistemas embebidos de la revista CTI. Entre los concursantes se encontraban más de 40 productos de telefonía.
QNX Software Systems S.A., el principal sistema operativo de tiempo real (RTOS) vendido en el mercado de los sistemas embebidos, fue votado como una de las 50 compañías privadas mejor administradas en Canadá.
Todos los años, la competición de los mejores 50 nacionales de Canadá reconoce a las compañías que han llevado a cabo prácticas comerciales excepcionales. Para ganar, una compañía debe demostrar crecimiento fuerte, firme, servicio del cliente excelente, un equipo motivado de empleados, productos excelentes, y una estrategia comercial eficaz. La competición es patrocinada por The Financial Post, Canadians Airlines, Arthur Andersen Enterpprise Group, y Le Groupe Mallette Maheu.
"Nosotros escogimos QNX Software Systems porque era fuerte en todas las cuatro áreas críticas: empleados, estrategia y visión, satisfacción del cliente, y prácticas comerciales," dijo Mike Runia de Arthur Andersen. "Pero nosotros nos impresionamos sobre todo con los empleados de QNX. No sólo por sus habilidades, sino por su dedicación y la proporción de la producción."
"Premios diferentes que enfocan en un solo logro o servicio, el ' 50 Best' mira los logros de la compañía entera," dijo Dan Dodge, cofundador y CTO de QNX. "Eso es porque es tan importante. Dice que nosotros no ofrecemos sólo productos superiores, sino una compañía sólida, una estrategia legítima, y un registro probado de soporte al cliente."
Las noticias del premio continúan con un año de expansión mayor para QNX. En 1998, la compañía abrió nuevas oficinas a lo largo de Europa y EE.UU.; forjo muchas nuevas alianzas con compañías como Cisco, HP, IBM, Motorola, y Sybase; y, pora primera vez, hizo su tecnología de RTOS disponible en MIPS y mcroprocesadores de PowerPC.
The Financial Post y Arthur Andersen crearon el premio en 1993. Para ser considerado para el premio, las compañías deben someterse a una evaluación formal que incluye entrevistas en profundidad dirigidas por Arthur Andersen. Este año, más de 800 compañías solicitaron el premio. Arthur Andersen seleccionó y entrevistó las mejores 246 solicitudes, y un panel de juicio luego escogió a los 50 ganadores. Todos los ganadores se perfilaron en la edición del 28 de diciembre de 1998 del The Financial Post.
Partners Program
Una vez que usted califica para el Partners Program, usted puede unirse por una cuota introductoria de $395. La cuota inicial cubre el primer año completo de membresía en el programa.
Por este bajo precio, usted consigue:
Las renovaciones son sobre una base anual, para una cuota de $200.
QNX y Educación
Dé la bienvenida a QNX en educación, nuestro programa educativo dedicado a hacer la tecnología de OS de tiempo real de QNX fácilmente accesible a las universidades alrededor del mundo.
Nosotros creemos que nuestra tecnologías de tiempo real de OS hacen una plataforma ideal para el uso en investigación y educación. Cuando un profesor dijo que cuando él cambió de un OS monolítico al microkernel de QNX: "QNX les permite a los estudiantes enfocarse en los problemas propiedad de la propia plataforma, esto ayuda a que ellos sean m'as productivos como ingenieros e investigadores."
Si usted está en el campo de la informática, usted encontrará que nuestras tecnologías de OS modular proveen una prueba ideal para algunos de los últimos OS y conceptos de red. O, si usted está en un campo diferente de estudio, como la robótica, inteligencia artificial, física, telecomunicaciones, ingeniería eléctrica u otro campo que exigen más de un sistema operativo, nuestra tecnología le permitirá que se preocupe menos por la plataforma que está debajo de sus experimentos y más sobre la investigación en s'i.
Para animar a las personas en la comunidad educativa a probar QNX, nosotros hemos establecido la iniciativa de QNX en educación. Nuestra meta es localizar a los estudiantes, personal, y miembros de facultativos alrededor del mundo, para hacer más fácil el acceso a QNX y compartir sus experiencias con otros miembros. Si su aplicación califica para el programa, usted recibirá altos descuentos en el precio y accederá a los recursos de información para ayudar ha hacer un éxito su aplicación de QNX.
Lo que usted consigue:
buscar en una base de conocimiento de más de 1,000 entradas
conseguir "trucos" para la programación de QNX
bajar actualizaciones de los OS, utilidades, y bibliotecas
bajar una variedad de software tercerista
participar en discusiones técnicas con la comunidad de QNX
¿Califica Su Escuela?
Para poder ser aceptados en el programa la universidad debe utilizar QNX en una o más de las siguientes formas:
No se consideran aquellos que solo quieren utilizar QNX como plataforma para correr soft de aplicación.
El número mínimo de estudiantes va de acuerdo al tipo de curso o proyecto:
Se tendrá en cuenta la duración del proyecto o curso, siendo favorecidos aquellos que tengan mayor duración.
QNX Training Services
Se ofrecen cursos dictados por técnicos que conocen a fondo a QNX, ya que son los desarrolladores del código.
Los precios de los mismos son:
Programación en tiempo real para el kernel Neutrino -- $1995
Introducción al desarrollo bajo Photon -- $2195
Escritura de un Manager de recursos bajo Neutrino - 1795$
Nadie conoce a los desarrolladores como los mismos desarrolladores de QNX. Las clases son con grupos reducidos, resolución de problemas concretos. El asistente va a estar listo para desarrollar productos bajo entornos de tiempo real, escribir Managers de procesos, aprender el manejo de interrupciones, y más. Una semana de clases puede ahorrarle meses de desarrollo posterior.
Las empresas confían fuertemente en la capacitación dada en la empresa.
¿Qué es QNX®?
QNX es una plataforma de OS de tiempo real que incorpora la arquitectura del modelo de proceso universal (UPM) . La arquitectura de UPM le permite que reduzca el tiempo de desarrollo (recompilar y retestear sin cambiar el kernel, crear drivers que usan herramientas fuente niveladas) mientras se confía en una protección MMU completa.
¿En qué tipos de aplicaciones se usa QNX?
Distribuido mundialmente, la tecnología de QNX brinda una fuente fiable para aplicaciones en telecomunicaciones, electrónicos, sistemas automotores, instrumentación médica, control industrial, y más.
¿Quiénes son clientes de QNX?
QNX se encuentra por encima del millón de instalaciones mundiales. Clientes de QNX incluyen a los líderes de la industria como Motorola, IBM, Matsushita, Siemens, 3Com, y Cisco, por nombrar unos.
¿Cuánto cuesta el SO QNX?
Nosotros sabemos que cada proyecto es diferente, es por eso que hemos adoptado una estructura de precio modular; usted sólo paga por módulos que se usarán en su aplicación. Para obtener precio e información del producto para su próximo proyecto, rellene nuestro formulario online o llámenos a 1 800 363-9001.
¿Cuál es el tamaño de la instalación del SO QNX?
Una instalación del desktop de QNX es aproximadamente de 10M. El Photon microGUI®, que incluye el QNX OS, browser de VoyagerTM, y TCP/IP, requiere más de 160M de espacio del disco.
¿Cómo se autoriza la licencia?
QNX es autorizado por CPU. Si el software autorizado es una versión de multi-computadora, la licencia se emite en el número de nodos. Para más detalles, visite la sección de autorización de nuestro web site.
¿Qué opciones de soporte técnico ofrece QNX?
Como un cliente de QNX, usted puede aprovechar de una variedad de opciones de soporte. Además del QNX Developer's Network (QDN), complete con una base de datos, el software download, y documentos online, también puede comprar paquetes de soporte suplementarios.
¿Qué CPUs soporta QNX?
QNX soporta x86, MIPS, y procesadores de PowerPC.
¿Dónde y cómo compro yo la tecnología de QNX?
Los clientes pueden conseguir más información sobre los productos de QNX de dos maneras:
* Llenar el formulario online
* Llamar al servicio del cliente a 1 800 363-9001
¿Cuál es la última versión de QNX?
Actualmente, nosotros estamos enviando QNX 4.25, QNX Neutrino 2.0, Photon microGUI 1.14, y Voyager 2.0.
¿Soporta QNX IP Networking (TCP/IP, etc.)? QNX soporta varios protocolos networking, incluso TCP/IP, PPP, y SLIP.
¿QNX integró soporte de MMU?
Con la arquitectura modular de QNX, el kernel, servicios de OS, aplicaciones, y drivers todos residen en su propio espacio de dirección de memoria protegida. Eso significa que si un driver o una aplicación falla, el sistema entero no quiere. No sólo esta arquitectura aumenta la fiabilidad del sistema, sino que hace la recuperación de las fallas del software mucho más fácil.
¿Está el entrenamiento técnico disponible para QNX?
QNX ofrece una serie de cursos de entrenamiento en nuestra oficina central en Kanata, Ont. (El entrenamiento en la web también está disponible.). El tamaño de la clase pequeño, resolución practica del problema y ejercicios asegura que los estudiantes tengan el conocimiento que ellos necesitan para aplicar QNX a su proyecto.
¿Hay un grupo de QNX público?
Actualmente, nosotros ejecutamos el QUICS newsgroups para los usuarios de QNX. El sitio es protegido y se limita a usuarios de QNX que tienen un plan de asistencia técnica válido. Sin embargo, nosotros planeamos hacer newsgroups públicos disponible a través de nuestro web site en el 2001. Usted también puede leer y puede anunciar mensajes a comp.os.qnx
Soporte Tecnico
Como un usuario de QNX, usted se vuelve un miembro de nuestra QNX Developer's Network automáticamente (QDN) que incluye:
Las actualizaciones del software sólo son para los sistemas de desarrollo
Existen representantes de esta firma alrededor del mundo con el fin de proveer al usuario un soporte de acuerdo al lugar donde éste se encuentre. Por esta razón se puede consultar en la República Argentina a la siguiente dirección de correo electrónico: Eldo Loguso: eldo[arroba]invisa.com
En la actualidad existen diferentes planes de soporte para los usuarios que poseen productos registrados. De esta manera se trata de brindarle al usuario diferentes alternativas que puedan satisfacer sus necesidades según su desempeño y utilización del sistema.
Servicios On-line:
Sistema de conferencias
Nuestro sistema de conferencia habilitado las 24 horas en línea es una ideal manera de realizar preguntas técnicas y ejemplo de código para nuestros analizadores pertenecientes a nuestra área de expertos de QNX.
Actualizaciones de Software
Acceda a nuestras últimas actualizaciones de software, utilidades lista de problemas conocidos, preguntas frecuentemente realizadas y mucho más a través de nuestro sitio web.
Plan de servicios gratis:
Todos los usuarios de QNX reciben este nivel básico de servicio, que incluye:
Plan de servicios standard
Este plan ofrece todos los servicios que se describen más arriba, y además se recibe un conjunto de "créditos" que se pueden utilizar para servicios sobre la base de se "paga lo que se usa".
Una suscripción anual provee 50 créditos. Si se requieren servicios adicionales más allá de la suscripción anual, se puede optar por el Frequent Package User (paquete del usuario frecuente) que provee 150 créditos.
Los créditos se usan de la siguiente forma:
Plan de servicios dorado (Gold Service Plan
Los subscriptores de este plan gozan de todos los servicios descritos más arriba además de tener un acceso ilimitado y un tiempo de respuesta garantizado durante las horas comerciales (8:00 am a 6:00 pm EST)
Casos de estudio de QNX
Para darnos una idea del segmento al que apunta el sistema operativo QNX 4, veremos a continuación algunos casos de estudio, donde se analiza el tipo de problema a enfrentar, las limitaciones y la infraestructura que se cuenta, así como la razón por la que se eligió el sistema operativo y los resultados de la aplicación del mismo.
Aplicación en nuestro país, satélite SAC-C
La era espacial que comenzó en la década del ' 50 calificó poco a poco a países con un alto nivel tecnológico para hacer frente al desafío de poner en el espacio el primer satélite: Sputnik, y al primer astronauta, Yuri Gagarin y previamente a la perrita Laika. El avance ha sido vertiginoso y el conocimiento de nuestro planeta visto desde afuera, además de lo que se ha aprendido de los otros cuerpos celestes, va llevando a la humanidad a palpar una realidad indiscutible: la pertenencia a un todo infinito maravillosamente equilibrado.
La visita que realizó a INVAP (Investigación Aplicada) un técnico de la NASA en el año 1989 dejó sembrada una inquietud: incursionar en la tecnología espacial. Posteriormente la empresa fue calificada y estimulada por otros técnicos de la agencia espacial norteamericana a seguir progresando en la construcción de satélites. Desde estos orígenes casi casuales pero con gran empeño, nace el primer satélite argentino: el SAC-B. Pesó 1.81 Kg y estaba destinado a estudiar aspectos de la física del sol y radiaciones del espacio exterior. Todos sus mecanismos funcionaron a la perfección pero una falla en el lanzador Pegasus de USA desbarató la misión. El segundo de los satélites (SACA), fue puesto en órbita por la tripulación del Endeavour con éxito absoluto, ya que en vez de los 4 meses que debía permanecer en el espacio, permaneció por casi 10 enviando señales y fotos durante todo el tiempo.

La banda de alcance del muestreo
El SAC-C está dispuesto a ser lanzado a bordo de un cohete Delta II desde los EE.UU. en abril próximo. Este satélite es mucho más complejo que los anteriores. Tiene 480 Kg de peso, unos 2.50m de alto por 1 .20m de diámetro; puede reorientarse en órbita, y está provisto de varias cámaras para observar el territorio.
Un satélite se compone de una multitud de sistemas, y subsistamos sutilmente integrados entre sí, pero en lo esencial es un vehículo que lleva lo que uno le quiera poner encima. Es esa "carga útil" la que justifica su lanzamiento. Se trata de instrumentos de medición, cámaras fotográficas o su equivalente electrónico. El vehículo en sí es una estructura que debe contener los elementos básicos parta subsistir en el espacio y para comunicarse con la estación receptora terrestre. La estructura mecánica, que suele ser de aluminio, sostiene todo el conjunto y debe soportar los rigores del espacio, donde, entre un extremo y otro el aparato puede haber una diferencia de temperatura de 150 °C., además de soportar las fuertes aceleraciones y vibraciones que ocurren durante el lanzamiento. La estructura está provista de baterías que alimentan todos los sistemas electrónicos del satélite, y que a su vez son recargadas por medio de paneles de celdas fotovoltaicas que recogen la energía radiante del sol. Otro sistema fundamental de un satélite es el módulo de comunicaciones, por el cual recibe órdenes de tierra y transmite hacia ella las informaciones que va recogiendo a su paso sobre los distintos sectores del planeta. Los satélites más complejos, como el SAC-C, están provistos de órganos que sirven para controlar su orientación y reubicarlos en el espacio. Los mecanismos de muy alta precisión que controlan estas funciones también fueron desarrollados en Bariloche e hicieron su prueba de fuego en el SAC-A Otro de los órganos de reubicación son unos pequeños motores de cohete que tienen la importante función de prolongar notablemente la vida útil del satélite contrarrestando, mientras dura su gas impelente, la natural caída que se produce por efecto del suave rozamiento con restos de atmósfera a 500 o 700 Km de distancia de la superficie de la Tierra. Un impulso de esa naturaleza puede volver a levantar la órbita cuando ha caído unos kilómetros, pero por supuesto llega el momento en que la sustancia que genera su gas impelente se agota fatalmente, marcando el comienzo de una caída que puede ser muy lenta pero se acelera inevitablemente y termina con la caída del satélite hacia las capas más espesas de la atmósfera donde se quema totalmente. Eso es lo que ocurrió con el SAC-A - que no estaba provisto de tales cohetes auxiliares después de diez meses de girar fielmente alrededor de la tierra, cubriendo muchas más veces de las previstas nuestro territorio, y obteniendo miles de fotografías de distintos lugares del planeta. En el desarrollo de un satélite complejo como el SAC-C se re corre un camino que pasa por varias etapas, cada una de las cuales es sometida a un severo proceso de revisión. El diseño preliminar fue sometido a un exhaustivo examen de la ingeniería de todos los sistemas, que consiste en una larga sesión de auditoria de varios días de duración, y en la cual cada detalle es sometido a un escrutinio profundo. Este tipo de examen se repite en varias ocasiones, a medida que se cumplen determinadas etapas del diseño y de la construcción del aparato. En el caso del SAC-A la última de estas auditorias fue efectuada poco antes del lanzamiento - con el satélite ya terminado- por los responsables de su puesta en órbita. Tuvimos entonces el privilegio de albergar en Bariloche a cuatro de los integrantes del transbordador Endeavour, entre ellos el jefe de la misión, el comandante Cabana.
Cuando se diseña y construye un satélite el proceso pasa por numerosas etapas e ensayos, ya que el costo de cualquier falla puede ser el fracaso de la misión. Por lo tanto se construyen varios modelos del satélite: un modelo de ingeniería, que es sometido a todas las vibraciones que deberá soportar el satélite, sobre todo durante su lanzamiento, ya que una vez en órbita todo es suavidad; un modelo térmico, sobre el que se realizan otros ensayos pues estará sujeto agraves tensiones debido a las grandes diferencias de temperatura entre el lado que mira hacia el sol y el que está a la sombra. Finalmente se construye el "modelo de vuelo" que también es sometido a toda clase de esfuerzos y ensayos. Gran parte de todos estos ensayos son los que se han llevado a cabo en las instalaciones del organismo espacial brasileño, donde está depositado ala espera de su traslado a EE.UU. para su puesta en órbita en el próximo mes de abril. En realidad el SAC-C es un proyecto multinacional. Los países que participan son cinco, además de Argentina. EE.UU., además de efectuar la puesta en órbita, ha construido uno de los experimentos que van a bordo del SAC-C. Dinamarca ha colocado un sistema de medición de anomalías del campo magnético terrestre; Italia ha suministrado los paneles solares que alimentarán de energía al conjunto y los instrumentos que determinan la posición del satélite, y Francia que ha colocado a bordo un instrumento de medición de niveles de radiación por electrones, protones e iones pesados en la baja atmósfera. El SAC-C lleva tres cámaras de registro fotográfico. Las principales de estas cámaras fueron también diseñadas y construidas en Bariloche, y con ellas se puede obtener gran cantidad de información acerca del estado de bosques y cosechas, desertificación, contaminación del mar, etcétera.
El SAC-C tendrá un tiempo de revista de nueve días, es decir que cada nueve días recorre exactamente la misma órbita, lo que permite seguir los procesos que ocurren en el suelo debajo de él con esa resolución temporal. Sin embargo existe una posibilidad de ver procesos más veloces, ya que cada cuatro días el satélite pasa lo bastante cerca de cada sitio preestablecido como para que, con una leve inclinación de su eje se puedan recoger las imágenes deseadas. El SAC-C también permite observar a las ballenas aún sumergidas a gran profundidad. El cuarto satélite argentino, cuyo diseño ya ha comenzado se denomina SAOCOM (Satélite Argentino de Observación y comunicaciones) será mucho más complejo, ya que estará provisto de un radar que permite entre otras cosas, atravesar las nubes y las copas de los árboles, ver de noche y hasta cierto punto, penetrar en el suelo terráqueo. Esto le permite determinar el grado de humedad y hasta detectar la profundidad, el recorrido y el estado de las napas freáticas. Se estima que este satélite estará listo en 2003. Un laboratorio satelital como el desarrollado por INVAP en la zona de Llao-Llao en Bariloche, tiene parecidos con un quirófano, también con instalaciones futuristas tal como lo muestran las películas, esto se debe a que la construcción de un equipo destinado a atravesar el espacio, lejos de toda posibilidad de reparación, debe estar hecho a prueba de fallas, y eso implica un grado de limpieza muy superior al que debe regir en una sala de operaciones. En efecto, una partícula de polvo depositada en un contacto eléctrico en el vacío sideral puede producir una falla que ponga en peligro misiones muy costosas. Desde La Patagonia y en conjunto con la CONAE , el INVAP busca una salida internacional para el desarrollo de sistemas de tratamiento de las imágenes satelitales. Así Patagonia se proyecta más allá de los límites de la Tierra, con tecnologías propias y desarrollo científico.
Los datos del SAC-C serán adquiridos en la Estación Terrena Córdoba del Centro Espacial Teófilo Tabanera (CETT), desde donde, además , se realizará el control de la Misión, el tiempo disponible para la adquisición de datos del relevamiento y de estado del sistema, así como para la corrección de inconvenientes es de 12 minutos.
También se dispondrá de al menos tres estaciones secundarias de bajo costo ubicadas en distintas regiones del país, las que permitirán obtener en tiempo real imágenes de baja resolución de la cámara MMRS.

Estación de monitoreo remoto.
El satélite para realizar las tareas de control cuenta con tres procesadores Intel 486 DX 4 de 100Mhz corriendo con lógica de mayoría, para evitar fallas por mal funcionamiento de alguno de los procesadores, no se cuenta con discos rígidos (ya que son muy sensibles a campos magnéticos y cambios de temperatura frecuentes en el espacio), los datos muestrados son almacenados en memoria por lo que si no pueden ser transmitidos a la base terrestre los mismos se pierden. El sistema operativo utilizado es QNX 4, tanto en el satélite como en las estaciones de adquisición de datos y mantenimiento, por las siguientes razones:

El SAC-C en la etapa de ensamblaje
INVAP también utilizó este sistema operativo como software de base para los sistemas de control de un reactor nuclear que contruyó para Egipto. Recientemente la empresa Argentino ganó una licitación por 180 millones de dólares estadounidences para la construcción de un nuevo reactor en Australia y dado los buenos resultados obtenidos en el primero, también será utilizado para este nuevo proyecto.
La creación de COG el RoboBaby.
Las películas ciencia-ficción están llenas de ellos. Robots caminando y hablando como humanos. De hecho, desde que el campo de la inteligencia artificial nació, la gente ha soñado con robots que no solamente se parecen a seres humanos sino que pueden pensar, sentir, aprender, y cometer errores - casi como actuamos en la vida real.
El laboratorio de inteligencia artificial del MIT ha tenido éxito en hacer verdadera la ciencia-ficción con COG, un robot con forma humana que se está en desarrollo desde los ' 90s. Aunque carece piernas y espina dorsal flexible, COG es casi tan humano como un robot puede ser. Tiene una cabeza, un tronco, y los brazos son similares en dimensión, estructura, y grados de libertad a los del cuerpo humano. Un conjunto sofisticado de sensores y de actuadores coordinados con un sistema de control distribuido basado en QNX se aproxima la dinámica sensorial y motora humana con exactitud misteriosa.
Como los seres humanos, COG puede oír. Un par de micrófonos que hacen las veces de oído se montan directamente sobre su cabeza. COG puede también ver. El sistema visual del robot copia algunas capacidades visuales humanas, incluyendo la detección binocular y la sensación espacio-variante. Dos cámaras de escala de grises en cada 'ojo' permiten a COG un campo visual ancho y visión de alta resolución. COG incluso tiene un sistema vesti-bular, que en seres humanos mide la aceleración de la rotación de la cabeza y que es crítica en la coordinación de las respuestas motoras, del movimiento de los ojos, de la postura, y del balance. COG imita este sistema con tres giroscopios y dos acelerómetros lineares montados en la cabeza del robot. Los sistemas recepción vocal y táctil están en desarrollo.
Para los investigadores del MIT, conseguir que COG se vea y sienta como humano va más allá del plano estético - es fundamental en su investigación. COG está aprendiendo pensar como un ser humano. Con este ROBOT, el MIT está explorando la teoría de la encarnación, o la creencia que la cognición humana está desarrollada con la interacción del cuerpo físico con sus alrededores y otros seres humanos. Así pues, en vez de la preprogramación con la información detallada sobre su ambiente, COG está aprendiendo todo sobre sí mismo y el mundo casi como lo hacen los bebés - por el ensayo y el error.
El control computacional de COG es una red heterogénea de diversos tipos de procesadores que funcionan en diversos niveles de la jerarquía de control. El cerebro de COG, que consistía en una red de microcontroladores Motorola 68332 de 16MHz conectada a través de una RAM dual-port, ahora es una red de PCs industriales de 200MHz que ejecutan QNX conectadas mediante una topología Ethernet 100GV. Los cerebros viejos y nuevos se comunican vía una tarjeta de memoria compartida ISA hecha a medida. Como con todos los sistemas QNX, la red puede ser ampliada agregando nuevos nodos en el HUB de la red. La red también incluye display boards, y puertos de entrada-salida de audio. Otros procesadores que controlan las funciones corporales de COG van desde pequeños microcontroladores para el control de empalme a nivel de red hasta procesadores de señal digital (DSP) para pre-proceso de audio y vídeo.
Cuando se preguntó por qué QNX fue elegido para su proyecto a Matt Marjanovic, investigador del MIT, explicó: "con COG, obviamente hay un requisito visual y auditivo de tiempo real. Deseamos un SO que pueda cumplir con esto de modo que COG pueda percibir a la gente e interactuar con ellos. El establecimiento de una red transparente es también un gran extra. COG tiene ocho nodos QNX en este momento, y todos son accesados desde el servidor primario. También es muy conveniente desarrollar y ejecutar código remotamente. Tenemos a menudo varios estudiantes graduados que desarrollan código al mismo tiempo, algunos en el sistema, algunos en sus oficinas, y otros en sus casas.
QNX se ha utilizado con tanto éxito con el proyecto COG que ahora todas los robots del laboratorio se están construyendo alrededor del SO. Esto incluye un robot de alto perfil que el MIT nombró Kismet, diseñado para estudiar las emociones humanas del cual se ofrece una nota completa en la edición de octubre de 1999 de Discover Magazine. Dice la investigadora del MIT, Cynthia Breazeal, " es nuestra meta para hacer que todas los robots compartan la misma plataforma de cómputo para poder compartir el código a través de proyectos.
Desde su 'nacimiento' COG ha aprendido a darse vuelta y fijar la vista en un objeto móvil, imitar movimientos de cabeza afirmativos y negativos, estirarse para tocar objetos, y jugar con un juguete Slinky. Lo más importante, es que COG ha aprendido reconocer las caras y los ojos - el primer paso de progresión hacia interacciones sociales realistas. Y aunque COG no puede todavía ser considerado consciente, con este robot el MIT está cumpliendo un sueño que existe desde hace mucho tiempo, el de fabricar inteligencia humana a través de computadoras y tecnología robótica. Recientemente, el libro de los récords Guinness 2000 (edición del milenio) nombró a COG ' el robot más inteligente. '
6. QNX en la batalla contra las pruebas nucleares
Desde que las discusiones por lograr la restricción de pruebas nucleares comenzaron al inicio de los ' 50s, varios tratados han sido puestos en ejecución por la comunidad internacional para restringir el testeo de armas nucleares en el espacio, en la atmósfera, y bajo el agua. Pero ninguno ha ido tan lejos como para prohibir todas las pruebas de armas nucleares. Es decir, hasta que la asamblea general de la ONU votó el septiembre de 1999 de forma aplastante para adoptar el tratado Comprehensive Nuclear Test Ban Treaty (CTBT), que busca terminar con todo tipo de actividad nuclear.
La firma del tratado fue la parte fácil, comparada con la tarea de asegurarse de que todas las naciones cumplan con el tratado. Cerciorándose de que el CTBT se adopta globalmente, sobre todo en la capacidad de detectar violaciones. Para este fin, las naciones que firman el tratado están poniendo el sistema de monitoreo internacional (IMS), una red de centros de datos y varias tecnologías de verificación - sísmicas, infrasonido, hidroacoústicas, etcétera - para buscar para y para analizar las pistas que indican la prueba nuclear ilegal.
|
El sistema RASA Mark 4 basado en QNX detecta productos radiactivos aerotransportados de pruebas nucleares y será utilizado por todo el mundo para lograr cumplir con el CTBT |
|
Tal tecnología de verificación es el Radionuclide Aerosol Sampler/Analyzer (RASA), una tecnología basada en QNX que ha sido desarrollada por el departamento de energía del laboratorio nacional de Pacific Northwest, en Richland, USA. RASA es un sistema que detecta radionúcleos aerotransportados – elementos de especies radiactivas como el bario, molibdeno, etcétera - que son liberados en la atmósfera por una explosión nuclear. La importancia de esta tecnología es la detección de radionúcleos que a diferencia del infrasonido, o las tecnologías hidroacoústicas de detección, proporciona una evidencia física irrefutable de violación del tratado porque captura las piezas más pequeñas del arma misma.
Para diseñar un dispositivo de detección de radionúcleos para el IMS, tuvimos que mantener varios factores firmemente en la vanguardia. Primero, el sistema de medición tuvo que ser capaz de detectar cantidades muy pequeñas de material radiactivo. Dependiendo de condiciones atmosféricas en el momento de la explosión los radionúcleos pueden viajar a desde una punta del globo terráqueo a otra y tener varios días para el momento en que alcancen una estación de medición. Para ese momento, los elementos con un período de vida corto habrán desaparecido, dejando solamente una pequeña fracción del material radiactivo original. En segundo lugar, tuvimos que pensar mucho en el costo total del sistema. Nuestros planes requerían 80 estaciones de medición mundial para mejorar las posibilidades de que una nube radiactiva sea detectada dentro de las primeras semanas críticas después de la detonación. Así pues, el sistema tuvo que ser accesible para todos los países, incluyendo países en desarrollo.
En tercer lugar, y más importante, ya que algunos de los detectores serán colocados en posiciones remotas, tuvimos que desarrollar un sistema totalmente automatizado que pueda estar en ejecución por varios meses continuos sin volver a reiniciarse. En RASA Manejamos todos estos requisitos, y más. Suficientemente sensible como para detectar una explosión nuclear incluso después que la nube de escombros radiactivos haya viajado totalmente alrededor del globo, RASA puede ejecutarse continuamente por 200 días sin volver a reiniciarse y tiene acceso y control remoto completo. RASA es también accesible, suficientemente silencioso como para no molestar en áreas residenciales próximas, y consume potencia mínima. Puede incluso tolerar cortes de energía!
Asemejándose a un horno pequeño en tamaño y forma (3 ' x 6 ' x 6 '), el muestreador de radionúcleos contiene un 486 Ziatech 8902corriendo QNX 4 y el sistema de medición físico: compuesto por un conjunto de tiras continuas de papel de filtro, de una pista dividida en segmentos de muestreo, y de un detector de alta resolución de rayos gama de germanio. Las tiras de papel se avanzan mecánicamente en la pista de muestreo a través de la cual los volúmenes grandes de aire se filtran. Después de un período de decaimiento, las tiras se ponen delante del detector de rayos gama. Para vigilar las condiciones de funcionamiento y los registros de ambiente de RASA, el sistema también incluye sensores secundarios para la temperatura, tensión, la velocidad del aire, y otras condiciones ambientales.
Una de nuestras primeras tareas era seleccionar un SO para el proyecto. En diciembre de 1992 repasamos varios sistemas operativos y elegimos QNX porque ofreció un sistema de control en tiempo real robusto y un método confiable para comunicar datos y comandos hacia y desde los varios centros de datos. Un sistema operativo estable era también un requisito crucial para RASA porque sabíamos que un tiempo medio de buen funcionamiento (MTBF) y un tiempo medio de reparación (MTTR) con valores inaceptables podría promover o romper la aceptación internacional de nuestro sistema. Sabíamos que QNX tenía un buen expediente en sistemas críticos. QNX tenía otras características tentadoras también, incluyendo un esquema IPC simple, capacidad de multitasking, conectividad TCP/IP, y compilación POSIX. Aunque no teníamos ninguna experiencia anterior con multitarea con arrebato (preemptive multitasking) y una arquitectura de paso de mensajes, aprendimos rápidamente el valor de estas características mientras que progresó el proyecto.
Cuando comenzamos el desarrollo, el CTBT todavía no estaba firmado así que las guías de consulta técnicas y políticas eran revisadas constantemente; por necesidad, encaramos el proyecto con modularidad en mente. Comenzando con un análisis orientado a objetos para el software de control, escribimos todo el software de control para el sistema RASA en C++ e hicimos uso extenso de clases de objetos de C++ en todas partes. Por ejemplo, todos los servidores se derivan de un objeto common-base-server que da a cada servidor un conjunto idéntico de capacidades de base (ej. ping, shutdown) y de una interfase consistente de paso de mensajes. Esta metodología orientada a objetos también aumentó considerablemente nuestra capacidad de mantener el sistema y de reutilizar nuestro código.
Este análisis modular nos dejó separar el software de control de los procesos específicos de hardware del servidor. El acceso a la interfase de hardware es proporcionado por procesos de I/O digitales y analógicos del servidor – que son los únicos procesos que tienen acceso directo al hardware subyacente. El resto de los procesos tienen acceso al hardware a través de peticiones enviadas a los procesos del servidor.
El servidor analógico presenta un conjunto secuencial de canales analógicos al cliente, cada uno de los cuales puede marcar de 0 a 10V. Internamente, los canales correspondientes no tienen que ser secuenciales o aún existir en la misma placa analógica. De hecho, es posible utilizar múltiples placas de diversos fabricantes simultáneamente: el set canales de la entrada de cada tarjeta puede ser mapeado en el espacio del canal lógico-secuencial presentado por el servidor. Un mapeo similar del canal físico-a-lógico es realizado por el servidor digital de entrada-salida.
Como trabajamos a través de varios prototipos de RASA esta técnica permitió cambiar el hardware subyacente sin afectar a ninguno de los clientes que requerían servicios digitales o analógicos. También, permitió que solamente un solo proceso tenga acceso al hardware directamente, evitamos conflictos entre los servidores múltiples que procuraban el acceso simultáneo al hardware. El sistema operativo arma colas de peticiones a servidor automáticamente, que luego son manejadas secuencialmente por el mismo.
