Cygwin
Cygwin es una colección de herramientas desarrollada por Cygnus Solutions para proporcionar un comportamiento similar a los sistemas Unix en Microsoft Windows. Su objetivo es portar software que ejecuta en sistemas POSIX a Windows con una recompilación a partir de sus fuentes.
Cygwin | ||
---|---|---|
Ejecutando Cygwin en Windows 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, 2 meses y 11 días)) | |
Enlaces | ||
En la actualidad, el paquete está mantenido principalmente por trabajadores de Red Hat. Se distribuye habitualmente bajo los términos de la GPL 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.
Visión general
editarEl sistema Cygwin tiene varias partes diferenciadas:
- Una biblioteca de enlace dinámico («cygwin1.dll») que implementa la interfaz de programación de aplicaciones POSIX usando para ello llamadas a la API nativa de Windows.
- Una cadena de desarrollo GNU (que incluye entre otras utilidades GCC y GDB) para facilitar las tareas básicas de desarrollo.
- Aplicaciones equivalentes a los programas más comunes de los sistemas UNIX. Incluso, cuenta con un sistema X (Cygwin/X) desde 2001.
Además se incluye una biblioteca denominada MinGW que funciona de forma análoga a la biblioteca nativa MSVCRT (que implementa la API 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 soporte Unicode. Únicamente se soporta el juego de caracteres del sistema Windows sobre el que ejecuta.
Historia
editarCygwin surge en 1995 como un proyecto de Steve Chamberlain (un ingeniero de Cygnus). Este ingeniero descubrió que Windows 95 y NT utilizan como formato para sus archivos objeto COFF y GNU incluía soporte para x86 y COFF. Esto supone, al menos en teoría, que no sería difícil adaptar el compilador GCC y crear un compilador 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 el script autoconf ejecutara correctamente. Por ello era necesario disponer de un shell como bash 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 compilador DJGPP). En 1998, Cygnus empezó a distribuir el paquete Cygwin como un producto de suficiente interés por sí mismo.
Véase también
editar- Boot Camp
- Fink
- Wine - el software libre base de Cedega.
- CrossOver Office - otro producto comercial basado en Wine, dirigido a ejecutar aplicaciones de productividad o empresariales más que juegos.
- Cedega
- DOSBOX
Otros enlaces
editar- Portal:Software libre. Contenido relacionado con Software libre.
- Cygwin/X una implementación del protocolo X11 usado por el entorno gráfico que ejecuta sobre Cygwin.
- MinGW implementa un conjunto de las herramientas de desarrollo GNU para Windows
- Services for UNIX un producto, distribuido gratuitamente por Microsoft, que proporciona características similares a Cygwin. Su mejor baza es la gran velocidad aunque se cree que las próximas versiones no estarán disponibles para los sistemas de escritorio
- CoLinux se trata de una aproximación diferente. Ejecuta un Linux completo en Windows sobre el que ejecutan los programas
Enlaces externos
editar- Sitio web oficial de Cygwin
- CYGNOME = cygwin + GNOME
- KDE-cygwin = cygwin + KDE
- unxutils y GnuWin32 son dos proyectos similares para ejecutar utilidades UNIX en Windows sin la capa de emulación.
- PuttyCYG combina PuTTY y Cygwin para crear un terminal local para las consolas Cygwin transformándose en un buen reemplazo de la consola de MS-DOS.