Cygwin
POSIX互換のシステムコールを利用可能にするライブラリをWindowsのDLL(Dynamic Link Library:ダイナミックリンクライブラリ)として実装したものが中核で、UNIX系OS向けに記述されたソースコードを特に修正することなく、そのままコンパイルしてWindowsで動作する実行ファイルを作成することができる。
セマフォや共有メモリ、メッセージキューイングなど、プロセス間通信(IPC:InterProcess Communication)を仲介するためのOSのサービスなども提供する。C言語のコードをコンパイルするためのCコンパイラも付属している。
また、UNIX系OSで一般的なシェルであるbashや、GNU Core Utilitiesに含まれる基本的なコマンドのWindows版も収録されており、Windows上でbashを起動してUNIXコマンドを利用したり、シェルスクリプトを実行することができる。
仮想化ソフトウェアを用いてWindows上にUNIX系OSが動作する仮想マシンを立ち上げる方式などに比べると、導入や設定が容易で、専有メモリ容量も少なく、全体的に動作も軽快だが、UNIX系OS向けのバイナリコードをそのまま実行することはできず、ソースコードからの再コンパイルが必要となる。
最初からWindows向けに開発したプログラムと比較すると入出力が遅くなる難点があり、大量のアクセスをさばくサーバなど、重い負荷のかかる処理で常用するのには向いていない。どうしてもUNIX系のソフトウェアをそのままWindowsで使いたい事情がある場合に補助的に用いることが多い。
Cygwinの最初のバージョンは1995年に米シグナス・ソリューションズ(Cygnus Solutions)社によって公開された。同社は2000年にLinux関連ソフトウェア大手の米レッドハット(Red Hat)社に買収され、以降は同社がCygwinの開発・配布を継続している(同社は現在米IBM社傘下)。GPL(GNU General Public License)に基いてオープンソースソフトウェアとして公開されている。