Ir al contenido principal

A menudo me preguntan si un paquete de código abierto en particular puede ser portado a alguna versión de VOS u OpenVOS ("VOS", para abreviar). Mi respuesta general es que la mayoría de los paquetes de código abierto que sólo realizan operaciones en modo de usuario pueden ser portados a VOS. Debido a que los clientes de Stratus están usando muchas versiones diferentes de VOS, y porque con cada nueva versión de VOS hemos añadido nuevas capacidades al entorno POSIX, es difícil dar una respuesta más específica sin intentar realmente portar el paquete en cuestión.

Estimo que he portado más de un millón de líneas de código fuente a VOS. Creo que me he encontrado con la mayoría de los problemas que cualquiera puede enfrentar al portar software a VOS. La primera regla general es que se debe utilizar la última versión de VOS que su organización ha instalado. Si su versión tiene varios años, lo cual no es una edad poco común entre nuestros clientes, entonces es casi seguro que hay una versión más reciente que puede instalar. Incluso si todavía está usando nuestros sistemas más antiguos, Continuum, hemos continuado mejorando las bibliotecas POSIX en las versiones de mantenimiento de VOS 14.7, y todavía vale la pena actualizarse para obtener estas adiciones y correcciones. Si tiene un módulo más nuevo, V Series , entonces debería usar OpenVOS 17.0.1, que tiene el soporte POSIX más completo de cualquier versión.

Como ya he comentado en la presentación "Portar el código de código abierto a VOS" (véase mi anterior entrada en el blog), incluso cuando a VOS le falta algún encabezado o función de POSIX, generalmente no es difícil ni trabajar en torno a la ausencia modificando el código fuente original, ni portando el código que falta de otro sistema operativo de código abierto.

Creo que encontrarás que los paquetes "openvos.save.evf.gz" y "posix.save.evf.gz" en el sitio FTP anónimo de VOS simplificarán la tarea de portar el software de código abierto a VOS. También espero que lean la presentación de referencia porque contiene muchas sugerencias útiles.

Mi experiencia es que muchos paquetes de código abierto se portan a la versión 17.0.1 de OpenVOS sin ningún cambio. Incluso cuando los cambios son necesarios, normalmente son bastante menores. El único problema que queda es el enlace dinámico, que las versiones actuales de VOS no soportan. Algunos paquetes requieren el enlazado dinámico sólo para ejecutar los casos de prueba (por ejemplo, el Sleepycat Berkeley DBMS), y algunos lo requieren para construirlo en absoluto (por ejemplo, la versión actual del MIT Kerberos). Es posible que pueda utilizar un motor de búsqueda de Internet para encontrar una copia más antigua del paquete que aún admita la vinculación estática. Entonces podrá adelantar ese soporte a la versión actual. Stratus está implementando actualmente la vinculación dinámica para una futura versión de OpenVOS.

Siempre tiene la opción de contratar a los expertos de Stratus Servicios Profesionales para realizar el puerto y las pruebas relacionadas, y entregarle los resultados. Hemos portado gSOAP, Xerces y otros paquetes para nuestros clientes, y por supuesto hemos portado todo desde GCC a MySQL para nuestra biblioteca de productos de software.