Cygwin este un program Microsoft® Windows™ care înlocuiește shell-ul standard Windows™ cu unul care seamănă foarte mult cu o mașină UNIX®. Programul este desemnat oficial ca UNIX®, deoarece se bazează în întregime pe Windows™, mai degrabă decât pe o versiune standard UNIX®. Cygwin permite unui utilizator să aibă acces complet la funcțiile, aplicațiile și serviciile Windows™; pur și simplu schimbă mediul folosit pentru a le accesa. Acest program este gratuit și open-source.
Interfața de interacțiune cu utilizatorul de pe un computer poartă multe nume diferite. În cele mai multe cazuri, se numește interfață grafică cu utilizatorul (GUI). Acesta este numele comun pentru programe precum Microsoft® Windows™ sau Mac OS™. Aceste programe au imagini și imagini care alcătuiesc cea mai mare parte a ecranului; în general, singurul text sunt etichetele și informațiile introduse de utilizator.
Un nume mai puțin obișnuit, dar mai tehnic, este shell. Un shell este un program de calculator care se înfășoară în jurul unui proces pentru a permite utilizatorilor să interacționeze cu acesta. În cazul sistemelor de operare, un shell se înfășoară în jurul nucleului computerului, dând acces la funcții de nivel scăzut.
Unele sisteme informatice conțin emulatori. Când rulează aceste programe, ele creează un mediu care este ca un alt sistem; apoi, alte programe rulează în acel mediu. De exemplu, Mac OS™ rulează un sistem de emulare care îi permite să utilizeze unele software bazate pe Windows™. În esență, emulatorul păcălește programul făcându-l să creadă că este acolo unde ar trebui să fie.
Cygwin împărtășește multe dintre caracteristicile unei GUI – un shell și un emulator – dar nu este nici una dintre cele trei. Cygwin creează un mediu asemănător UNIX® pe un computer standard Windows™. Este mai mult decât o emulare, dar mai puțin decât un sistem de operare complet. Acesta creează o carcasă care învelește atât hardware-ul computerului, cât și majoritatea funcțiilor Window™. În cele din urmă, oferă o interfață grafică asemănătoare UNIX® pentru interacțiunea cu mașina și cu aplicațiile instalate.
Acest program este folosit în principal ca interfață pentru programator. Combinația de funcții Windows™ și UNIX® permite programatorilor accesul la funcții importante, putând încă rula multe aplicații Windows™. Deși are utilizări în afara programării, acestea sunt mult mai puțin frecvente din cauza unor probleme de viteză și compatibilitate prezente în Cygwin.
Cygwin este un program open source susținut în mare măsură de Red Hat®. Programele open source sunt gratuite pentru orice utilizator interesat să le folosească. Codul sursă al programului este disponibil în cazul în care cineva dorește să creeze completări sau modificări la codul de bază. În plus, Red Hat® oferă stimulente plătite programatorilor interesați să creeze modificări mari sau noi caracteristici majore ale programului.