Cygwin es un programa de Microsoft® Windows ™ que reemplaza el shell estándar de Windows ™ por uno que se parece mucho a una máquina UNIX®. El programa está oficialmente designado como similar a UNIX®, ya que se basa completamente en Windows ™ en lugar de una compilación estándar de UNIX®. Cygwin permite que un usuario tenga acceso completo a las funciones, aplicaciones y servicios de Windows ™; simplemente cambia el entorno utilizado para acceder a ellos. Este programa es gratuito y de código abierto.
La interfaz de interacción del usuario en una computadora tiene muchos nombres diferentes. En la mayoría de los casos, se denomina interfaz gráfica de usuario (GUI). Este es el nombre común de programas como Microsoft® Windows ™ o Mac OS ™. Estos programas tienen fotografías e imágenes que conforman la mayor parte de la pantalla; en general, el único texto son las etiquetas y la información introducida por el usuario.
Un nombre menos común, pero más técnico, es shell. Un shell es un programa de computadora que se envuelve alrededor de un proceso para permitir a los usuarios interactuar con él. En el caso de los sistemas operativos, un shell se envuelve alrededor del kernel de la computadora, dando acceso a funciones de bajo nivel.
Algunos sistemas informáticos contienen emuladores. Cuando estos programas se ejecutan, crean un entorno que es como algún otro sistema; luego, otros programas se ejecutan dentro de ese entorno. Por ejemplo, Mac OS ™ ejecuta un sistema de emulación que le permite utilizar algún software basado en Windows ™. El emulador esencialmente engaña al programa haciéndole pensar que está donde se supone que debe estar.
Cygwin comparte muchas de las características de una GUI, un shell y un emulador, pero no es ninguna de las tres. Cygwin crea un entorno similar a UNIX® en una computadora estándar con Windows ™. Es más que una emulación, pero menos que un sistema operativo completo. Crea un caparazón que envuelve el hardware de la computadora y la mayoría de las funciones de Windows ™. Por último, proporciona una GUI similar a UNIX® para interactuar con la máquina y las aplicaciones instaladas.
Este programa se utiliza principalmente como interfaz de programador. La combinación de funciones de Windows ™ y UNIX® permite a los programadores acceder a funciones importantes sin dejar de poder ejecutar muchas aplicaciones de Windows ™. Si bien tiene usos fuera de la programación, son mucho menos comunes debido a algunos problemas de velocidad y compatibilidad presentes en Cygwin.
Cygwin es un programa de código abierto respaldado en gran medida por Red Hat®. Los programas de código abierto son gratuitos para cualquier usuario interesado en utilizarlos. El código fuente del programa está disponible en caso de que alguien quiera crear adiciones o modificaciones al código básico. Además, Red Hat® ofrece incentivos pagados a los programadores interesados en crear grandes modificaciones o nuevas funciones importantes para el programa.