Cygwin
| Windows XP 上での Cygwin | |
| 作者 | シグナスソリューションズ |
|---|---|
| 開発元 | シグナスソリューションズ, レッドハット など |
| 初版 | 1995 |
| 最新版 | 1.7.18-1 / 2013年4月22日 |
| プログラミング言語 | C/C++ |
| 対応OS | Windows |
| 種別 | 互換レイヤー |
| ライセンス | GNU GPL version 2 |
| 公式サイト | www.cygwin.com |
Cygwin (シグウィン) は、Microsoft 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より、Microsoft提供のUNIXベースアプリケーション用サブシステムが奨励されなくなった為、公式に CygwinのPOSIXエミュレーションモードを一つの環境として奨励している。[4]
脚注[編集]
- ^ UTF-8 Cygwinやcygwin1.dll with DBCS supportなど
- ^ Re: UTF-8 Cygwin(cygwin-patches メーリングリスト)
- ^ Cygwin 1.7系初となるメジャーリリース「Cygwin 1.7.1」リリース - SourceForge.JP Magazine
- ^ Windows Server 2012 で削除された機能または推奨されなくなった機能 - Microsoft technet
関連項目[編集]
- Cygwin/X
- MinGW
- Interix (Services for UNIX)
- coLinux
- シグナスソリューションズ
- Wine - Cygwin とは逆に Unix 系 OS で Windows アプリケーションを動作させる
- XonWindows3
- 仮想化
外部リンク[編集]
- Cygwin Information and Installation(英文)公式サイト
- Cygwin情報
- Using Cygwin.
- Project HeavyMoon(重月計画) - Index
- Life with Cygwin
- NSym's Cygwin experiment Tera Term などの端末エミュレータをコンソールにするプログラム CygTerm がある。