Cygwin(シグウィン)は、Windowsオペレーティングシステム上にUNIXライクな環境を提供する互換レイヤーである。フリーソフトウェアである。Cygwinをインストールすることで、OSの差を吸収し、Windows上でUNIXのソフトウェア資産を活かすことが可能となる。

Cygwin
Logo of Cygwin
Cygwin X11 rootless WinXP.png
Windows XP上でのCygwin
作者 シグナスソリューションズ
開発元 シグナスソリューションズレッドハットなど
初版 1995
最新版
3.2.0-1 / 2021年3月29日 (25日前) (2021-03-29)
リポジトリ ウィキデータを編集
プログラミング
言語
C/C++
対応OS Windows
種別 互換レイヤー
ライセンス GNU GPL v3
公式サイト www.cygwin.com
テンプレートを表示

特徴編集

UNIX的な操作体系を提供するが、仮想マシンではなく互換レイヤーである。CygwinではPOSIXに準拠したUNIXカーネルを利用する代わりに、API変換を行ってWindowsカーネルを利用する方式を採っている。その結果として、UNIX環境上のツール群をWindows上に再コンパイルのみで移植することを可能にしている。ランタイムライブラリ「Cygwin1.dll」がAPI変換の中核を成しており、元々のUNIXアプリの外側でWindows APIへの適合を行っている。

Cygwin1.dllランタイムライブラリが、POSIXシステムコールと同等の機能を提供しており、それぞれのプログラムはこれを動的にリンクすることでUNIX上とほぼ同じ動作が可能になる。また、このライブラリの存在により、Cygwin用として提供されていない他のUNIX用プログラムのソースコードも、従来の様な大幅な変更無しにWindows用にコンパイルすることが可能である。

ランタイムライブラリにて、Unix System V由来のIPCを利用するアプリケーションのために、サービス(NTサービス)を用意している。現在Cygwinに付属しているPostgreSQLは、このサービスが提供する共有バッファセマフォを利用して動作する。PostgreSQL自身は、バージョン8.0以降ではCygwin依存から脱却し、全面的にWin32ネイティブにソースの書き換えが行われている。

XサーバとしてCygwin/Xが提供されている。

マイクロソフトはWindows Server 2012よりUNIXベースアプリケーション用サブシステムを非推奨とし、代替手段の一つとしてCygwinのPOSIXエミュレーションモードを紹介している[1]

脚注編集

[脚注の使い方]

関連項目編集

外部リンク編集