Cygwin | ||
---|---|---|
![]() | ||
![]() Ejecutando Cygwin enWindows XP | ||
Información general | ||
Tipo de programa | Capa de compatibilidad | |
Desarrollador | Red Hat y otros | |
Lanzamiento inicial | 1995 | |
Licencia | GPL | |
Información técnica | ||
Programado en | ||
Plataformas admitidas | Microsoft Windows | |
Versiones | ||
Última versión estable | 3.4.9 (info)( 6 de septiembre de 2023 (1 año, 6 meses y 11 días)) | |
Enlaces | ||
Cygwin es una colección de herramientas desarrollada porCygnus Solutions para proporcionar un comportamiento similar a lossistemasUnix enMicrosoft Windows. Su objetivo es portar software que ejecuta en sistemasPOSIX a Windows con una recompilación a partir de sus fuentes.
En la actualidad, el paquete está mantenido principalmente por trabajadores deRed Hat. Se distribuye habitualmente bajo los términos de laGPL con la excepción de que permite ser enlazada con cualquier tipo de software libre cuya licencia esté de acuerdo con la definición de software libre. También es posible adquirir una licencia con costo para distribuirla bajo otros tipos de licencia.
El sistema Cygwin tiene varias partes diferenciadas:
Además se incluye una biblioteca denominadaMinGW que funciona de forma análoga a la biblioteca nativaMSVCRT (que implementa laAPI de Windows). Esta biblioteca tiene una menor carga de memoria y tiene una licencia muy permisiva pero no implementa la API POSIX de forma tan completa como Cygwin.
Uno de los puntos débiles del sistema es la falta de soporteUnicode. Únicamente se soporta el juego de caracteres del sistema Windows sobre el que ejecuta.
Cygwin surge en 1995 como un proyecto deSteve Chamberlain (un ingeniero de Cygnus). Este ingeniero descubrió que Windows 95 y NT utilizan como formato para sus archivos objetoCOFF y GNU incluía soporte parax86 y COFF. Esto supone, al menos en teoría, que no sería difícil adaptar el compilador GCC y crear uncompilador cruzado que creara ejecutables para Windows. Tras demostrarlo en la práctica, los primeros prototipos comenzaron a aparecer rápidamente.
El siguiente paso era intentar configurar el compilador en un sistema Windows pero esto precisa una emulación de un entorno Unix para permitir que elscriptautoconf ejecutara correctamente. Por ello era necesario disponer de un shell comobash que facilitara los fork y la entrada/salida. Windows proporciona esa funcionalidad por lo que la biblioteca Cygwin únicamente necesitaba traducir las llamadas y gestionar de forma interna la información privada (descriptores de fichero...).
En 1996 se unieron más ingenieros al proyecto puesto que quedaba demostrado que Cygwin sería una herramienta muy útil para permitir que las herramientas de Cygnus ejecutaran en sistemas Windows (el mecanismo empleado hasta el momento era el uso del compiladorDJGPP). En 1998, Cygnus empezó a distribuir el paquete Cygwin como un producto de suficiente interés por sí mismo.