Cygwin
Cygwin(シグウィン)は、Windowsオペレーティングシステム上で動作するUNIXライクな環境の一つである。フリーソフトウェアである。
特徴
ランタイムライブラリ「Cygwin1.dll」が核になっている。UNIXで頻繁に使用されるシェルやコマンドなどのプログラムをWindows上でソースコードからコンパイルできるようにしたもので、UNIX用の機械語バイナリコードをエミュレートするものではない。
Cygwin1.dllランタイムライブラリが、POSIXのシステムコールと同等の機能を提供しており、それぞれのプログラムはこれを動的にリンクすることでUNIX上とほぼ同じ動作が可能になる。また、このライブラリの存在により、Cygwin用として提供されていない他のUNIX用プログラムのソースコードも、従来の様な大幅な変更無しにWindows用にコンパイルすることが可能である。
ランタイムライブラリにて、Unix System V由来のIPCを利用するアプリケーションのために、サービス(NTサービス)を用意している。現在Cygwinに付属しているPostgreSQLは、このサービスが提供する共有バッファやセマフォを利用して動作する。PostgreSQL自身は、バージョン8.0以降ではCygwin依存から脱却し、全面的にWin32ネイティブにソースの書き換えが行われている。
Cygwinの欠点としてはマルチバイト文字を適切に扱えず、文字化けやダメ文字問題が起こりやすいことが挙げられる。非公式のパッチは存在する[1]ものの、Cygwin本体には取り込まれていない[2]。2009年12月23日、1.7.1が発表され、デフォルトの文字コードがUTF-8となった[3]。
マイクロソフトはWindows Server 2012よりUNIXベースアプリケーション用サブシステムを非推奨とし、代替手段の一つとしてCygwinのPOSIXエミュレーションモードを紹介している[4]。
脚注
関連項目
- Cygwin/X
- MinGW
- Interix (Services for UNIX)
- coLinux
- シグナスソリューションズ
- Wine - Cygwinとは逆に、Unix系OSでWindowsアプリケーションを動作させる
- XonWindows3
- 仮想化
外部リンク
- Cygwin Information and Installation 公式サイトテンプレート:En icon
- Cygwin情報
- Using Cygwin.
- Project HeavyMoon(重月計画) - Index
- Life with Cygwin
- NSym's Cygwin experiment Tera Termなどの端末エミュレータをコンソールにするプログラムCygTermがある。