「マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次  †
概要  †
エミュレーション環境(互換レイヤ)には、
などがある。
詳細  †
POSIX, OS/2サブシステム  †
- Windowsには、POSIXやOS/2といったサブシステムが提供されていた。
- サブシステムに準拠したアプリケーションを実行することができた
(POSIXは再コンパイルが必要、OS/2は16bit版のCUIアプリがそのまま実行可)。 
- これらのサブシステムはWindows XPで廃止された。
 
 
- その後、UNIX環境との相互運用サブシステムが提供されたが、現在では提供されていない。
- Services for UNIX、Subsystem for UNIX-based Applications
 
- また、その上で動作するアプリーションが提供されていた(NFSサーバ、ゲートウェイなど)。
 
 
Cygwin/MinGW/MSYS2  †
- POSIX互換レイヤーがオーバーヘッドを生じる
 
- ディレクトリ構造がWindowsともUNIXとも異なってしまう
 
- オリジナルのMSYS2はほぼ開発が止まっているので、
代わりに、下記の「Git for Windows」を利用する。 
Cygwin  †
- Windows上に、LinuxやUNIXの完全なPOSIX層を提供することを目標にしている。
 
- 互換性のために必要であれば性能も犠牲にしている。
 
MinGW  †
- Cygwin 1.3.3からフォークした。
 
- フリーのコンパイラと各種ツールのみを提供し、性能を重視している。
 
- Microsoftから直接提供されるライブラリmsvcrt.dllを用いている。
 
- このため、POSIX APIを提供していない。
- プラットフォーム非依存のライブラリを使用してアプリケーションを作成する必要がある。
 
- ネットワークプログラミングの read/write を、recv/send に置き換える必要がある。
 
 
MSYS2  †
- MinGWを補う目的で作られた。
 
- プログラム開発の用途に限定的。
 
- ツールを統合したパッケージ
- Unixシェル(Bash)
 
- テキスト操作ユーティリティ(gawk, sed, findutil)
 
- ソースコードパッチ用ツール(diffutil)
 
- アーカイブツール(tar, bzip2, zlib)
 
 
Git for Windows  †
- MSYSに最新のセキュリティパッチを適用した上で、Windows向けのGitツールを追加したもの
 
参考  †
Tags: :Windows, :Linuxサブシステム, :Linux