Cygwin

Da Wikipedia, l'enciclopedia libera.
Se riscontri problemi nella visualizzazione dei caratteri, clicca qui.
Cygwin
Logo
Cygwin in esecuzione su Windows XP
Cygwin in esecuzione su Windows XP
Sviluppatore Red Hat ed altri
Ultima versione 1.7.10-1 (5 febbraio 2012)
Sistema operativo Microsoft Windows
Linguaggio
Genere Emulatore
Licenza GPL
(Licenza libera)
Sito web www.cygwin.com

Cygwin /ˈsɪɡwɪn/ - è una distribuzione di software libero, sviluppata originariamente da Cygnus Solutions, che consente a diverse versioni di Microsoft Windows di svolgere alcuni compiti in maniera esteticamente e funzionalmente simile ad un sistema Unix. Lo scopo principale della sua esistenza è il porting di software che gira su sistemi POSIX (come i sistemi Linux, o quelli basati sulla BSD, ed altri ancora) su Microsoft Windows, in maniera tale che sia necessaria poco più di una ricompilazione dai sorgenti degli stessi per ottenere un funzionamento corretto. I programmi portati tramite Cygwin funzionano al meglio su Windows 2000, Windows XP e Windows Server 2003, anche se alcuni funzionano su Windows 95, Windows 98 e Windows ME in maniera accettabile.

Descrizione[modifica | modifica wikitesto]

Cygwin è costruito intorno ad una libreria condivisa che implementa le chiamate di sistema dello standard POSIX per mezzo di chiamate di sistema Win32. Include, tra le altre cose, una toolchain completa di sviluppo GNU (tra cui vi sono GCC e GDB, per citare gli applicativi più noti) per consentire lo svolgimento di elementari procedure di sviluppo software, e diversi programmi applicativi che si comportano in maniera simile alle loro controparti UNIX. Il supporto all'X Window System è stato aggiunto nel 2001.

La distribuzione include anche una libreria denominata MinGW, che si appoggia alla libreria nativa MSVCRT (libreria C di runtime) inclusa in Windows; MinGW utilizza meno memoria RAM, ha un impatto minore sulle memorie di massa, ed è distribuito con una licenza non-copyleft per cui può essere collegata a qualunque software; per contro, essa implementa meno funzioni POSIX della libreria di Cygwin.

Cygwin non supporta direttamente Unicode, né supporta le codifiche dei caratteri che non siano già supportate da Windows stesso (che variano a seconda della localizzazione del sistema: ad esempio, per un utente russo, le uniche codifiche disponibili saranno CP1251 e CP866, mentre non sarà possibile utilizzare KOI8-R, ISO 8859-5, UTF-8 o qualunque altra). Per ovviare al problema è fornito il programma iconv, che consente di ricodificare i dati, ma la conversione va effettuata manualmente.

Red Hat concede in licenza la libreria di Cygwin secondo la GNU General Public License, con un'eccezione che permette il collegamento della stessa ad ogni software libero la cui licenza sia conforme ai criteri della Open Source Definition. Red Hat vende anche licenze commerciali a coloro che desiderano ridistribuire programmi che usano la libreria di Cygwin secondo crismi tipici del software proprietario.

È possibile iscriversi ad una delle mailing list che hanno per argomento Cygwin alla pagina apposita.

Storia[modifica | modifica wikitesto]

Cygwin nacque nel 1995 come progetto di Steve Chamberlain, un ingegnere che lavorava per Cygnus e che si rese conto che Windows NT e Windows 95 utilizzavano il formato COFF per i loro file oggetto, e che il progetto GNU supportava già l'architettura x86 e il formato COFF, e la libreria C newlib; quindi, almeno in teoria, riconfigurare la GCC ed ottenere un cross-compilatore che generasse eseguibili in grado di funzionare su Windows non sarebbe dovuto essere troppo complicato. Questa teoria fu presto confermata dalla pratica, con la costruzione di un prototipo.

Il passo successivo fu quello di creare un compilatore GNU nativo per Windows: questo richiedeva, però, un livello di emulazione di UNIX sufficiente a consentire il funzionamento dello shell script GNU configure, che richiede una shell come bash, che a sua volta richiede capacità di fork e funzioni di input/output. Windows fornisce funzionalità simili, sicché la libreria Cygwin deve soltanto tradurre le chiamate e gestire dati privati, come i descrittori di file.

Nel 1996, altri sviluppatori si unirono al progetto, poiché era chiaro che Cygwin sarebbe divenuto una maniera utile per far funzionare i tool embedded di Cygnus sui sistemi operativi Windows (l'approccio utilizzato in precedenza consisteva nell'utilizzo di DJGPP). Cygwin destava l'interesse in particolare perché era possibile fare una cross-compilazione trina: ad esempio utilizzare una workstation Sun non più all'avanguardia per generare un cross-compilatore Windows-a-MIPS, impiegandoci comunque meno tempo che con un PC dell'epoca.

Nell'ottobre del 1999 Cygnus Solutions fu acquisita da Red Hat[1], la quale provvide a rendere disponibile Cygwin anche con licenza GPL, e che da allora lo sviluppa insieme a TimeSys ed altri.

Note[modifica | modifica wikitesto]

  1. ^ (EN) Red Hat History. URL consultato il 22 marzo 2009.

Voci correlate[modifica | modifica wikitesto]

  • Cygwin/X è un'implementazione dell'X Window System che gira su Cygwin.
  • MinGW è un port degli strumenti di sviluppo GNU su Windows.
  • DJGPP è una distribuzione simile a Cygwin per sistemi operativi DOS e processori a 32 bit.
  • Microsoft Windows Services for UNIX è un prodotto Microsoft con caratteristiche simili a quelle di Cygwin; ha dalla sua parte la velocità d'esecuzione, ma non è possibile eseguirlo su una versione di Windows destinata all'utenza consumer, come Windows XP Home Edition.
  • UWIN permette la compilazione e l'esecuzione di applicazioni UNIX sulle versioni di Windows a 32 bit.
  • coLinux è un software che permette l'esecuzione di un sistema GNU/Linux completo come processo di Windows.
  • KDE su Cygwin

Altri progetti[modifica | modifica wikitesto]

Collegamenti esterni[modifica | modifica wikitesto]

Software libero Portale Software libero: accedi alle voci di Wikipedia che trattano di Software libero