Cygwin

Cygwin
Información sobre la plantilla
Cygwin.jpg
Concepto:Emulador de terminal

Cygwin. Emulador de Consola Linux dotado de una colección de herramienta en un entorno similar a Linux para Microsoft Windows. Su objetivo es portar software que ejecuta en sistemas POSIX a Windows con una recopilación a partir de sus fuentes.

Breve reseña histórica

Cygwin 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.


Características Generales

El 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.


Fuente


*Artículo. Cygwin. Disponible en: http://es.wikipedia.org/wiki/Cygwin. Consultado: 11 de diciembre de 2012
*Artículo. Cygwin project.Disponible en: http://www.cygwin.com. Consultado: 11 de diciembre de 2012