Cygwin
Da Wikipedia, l'enciclopedia libera.
Cygwin | |
---|---|
Cygwin in esecuzione su Windows XP
|
|
Sviluppatore | Red Hat ed altri |
Ultima versione | 1.5.24-2 / 31-Gen-2007 |
OS | Windows |
Genere | Emulatore |
Licenza | GPL |
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 NT, Windows 2000, Windows XP e Windows Server 2003, anche se alcuni funzionano su Windows 95, Windows 98 e Windows ME in maniera accettabile. Al momento, Cygwin viene mantenuto da Red Hat, TimeSys ed altri.
Indice |
[modifica] Descrizione
Cygwin è costruito intorno ad una libreria condivisa che implementa le chiamate di sistema POSIX per mezzo di chiamate di sistema Win32. Include, tra le altre cose, un completo toolkit di sviluppo GNU (GCC e GDB, per citare gli applicativi più noti) per consentire lo svolgimento di elementari procedure di sviluppo software, e alcuni programmi applicativi che si comportano in maniera simile alle loro controparti UNIX. Il supporto a 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, ed ha un impatto minore sulle memorie di massa, è distribuito con una licenza non-copyleft, e può essere collegata a qualunque software; per contro, essa implementa meno funzioni POSIX della libreria di Cygwin.
Cygwin non supporta direttamente Unicode, nè supporta un qualsiasi set di caratteri, a parte quello utilizzato da Windows ed eventuali altri forniti dal produttore del sistema (ad esempio, per un utente russo, gli unici codepage disponibili saranno CP1251 e il CP866, mentre non sarà possibile utilizzare KOI8-R, ISO 8859-5, UTF-8 o qualunque altro). iconv viene fornito, in maniera tale che sia possibile gestire file codificati in maniera differente, ma la conversione dovrà essere 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.
[modifica] Storia
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 avrebbe dovuto essere troppo complicato. Questa teoria fu dimostrata in breve nella pratica, e fu presto costituito 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 ingegneri 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 vecchiotta workstation Sun per generare un cross-compilatore Windows-a-MIPS - procedimento molto più rapido dell'utilizzare un PC del tempo.
[modifica] Voci correlate
- 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
[modifica] Collegamenti esterni
- (EN) Sito ufficiale
- (EN) Cygwin Setup
- (EN) Cygwin FAQ
- (EN) Lista dei pacchetti inclusi in Cygwin
- (EN) Pagina di Cygwin su Freshmeat.net
- (EN) CYGNOME = cygwin + GNOME
- (EN) KDE-cygwin = cygwin + KDE
- (EN) unxutils e GnuWin32 - due progetti simili, che fanno il port su Windows di applicativi UNIX, ma senza il livello di emulazione.
- Pagina dedicata a Cygwin sul sito di Red Hat