QNX tiene un largo historial a cuadros como un sistema operativo incrustado. QNX siempre fue popular por ser un sistema operativo de tiempo genuino con una arquitectura de Microkernel. Es decir, las funciones del kernel se ejecutan como un conjunto de tareas coordinadas en lugar de como una sola pieza de código. Una versión reciente de QNX 7 (ver video, a continuación) le permite ejecutarse en computadoras de escritorio de 64 bits, así como [Elahav], [Elahav] tomó la decisión de tratar convertir esta RTOS incrustada en un sistema operativo de escritorio.
Eso puede ruido, sin embargo, QNX es un sistema compatible con POSIX, así como tiene todas las características que esperaría en un sistema como Linux o BSD. Simplemente no está dirigido al mercado de escritorio, así como como resultado, no tiene una gran cantidad de herramientas para ejecutar el escritorio. QNX no es el tipo de RTOS que descubrirá en un Arduino. Es mucho más típico en cosas como sistemas de automóviles (por ejemplo, ejecuta el sistema OnStar del motor general).
Comenzó con una pequeña placa ITX, así como la QNX instalada. Por lo general, se establece para un sistema integrado en una estación de trabajo, además de enviar el código al sistema de destino, sin embargo, [Elahav] se tomó el tiempo para obtener un sistema de desarrollo que trabaja en el objetivo. Hubo un problema. El editor VI incorporado fue primitivo por los estándares contemporáneos. Normalmente es un usuario de Emacs, sin embargo, incluso VIM sería mucho mejor que el “Stock” VI. Mientras que un puerto de Emacs sería posible, también necesitaría una gran parte de una gran cantidad de bibliotecas, por lo que su primer trabajo fue obtener el código fuente de VIM para compilar.
Resultó no ser tan simple como había esperado. El sistema desarrolla herramientas de GNU específicas esperadas que aún no existían (aunque las versiones comunes de las herramientas, como GREP, existían). Así que tuvo que averiguar exactamente cómo cruzar el VIM. En retrospectiva, [ELAHAV] tomó una decisión, debía haber portado primero las herramientas de GNU. Tenía que eliminar un código antiguo de VIM que estaba dirigido a una versión anterior de QNX.
El resto de la experiencia fue relativamente bien. Manejó para desarrollar SDL, así como puerto sobre algunos juegos. El QT existe en QNX, sin embargo, con una configuración que favorece el sistema integrado (por ejemplo, cualquier pantalla completa). Sin embargo, la construcción de aplicaciones de QT fue posible sin un administrador de ventanas apropiado, todavía no era la experiencia de escritorio que quería. Unas semanas después, manejó un administrador de ventanas. Tenga en cuenta que el diseño de la pantalla de QNX no es X, así que agarrando una pieza de código existente no fue una opción probable.
¿Es práctico? Tal vez, aunque no vimos el código real disponible. ¿Es deseable? Lo más probable es que no, a menos que esté utilizando QNX ya, así como si no estamos seguros. Sin embargo, es una excelente historia del tipo de dificultades incluidas en hacer que algo fuera deficiente sea útil, un problema que hemos señalado antes de desarrollar su propia CPU. Por supuesto, [Elav] comenzó con un ambiente bastante rico. Si quieres ver a alguien bootstrap casi todo, inspecciona A2Z. Además, si has estado cerca, así como si crees que te mantienes en cuenta un entorno de escritorio QNX, no estás equivocado.