WindowsでのLinux準拠環境まとめ
Windows 10でLinux?
Windows 10でLinuxのアプリケーションを動かすための環境についてまとめます。
ここで紹介するのは、必ずしも完全なLinuxではないです。
Linuxにある程度の互換性はありますが、それ自身ではないので、完全なLinuxを使いたい人は、LinuxのOSを普通にインストールした方がいいと思います。
WindowsシステムをLinuxに対応させる
WindowsのWin32APIの上でLinux準拠の環境を再現する方法です。
Cygwin
POSIX準拠のシステムコールをDLL(ダイナミックリンクライブラリ)によって再現し、その上にGCCやUNIXの主要なコマンドを動作させる。
POSIXのシステムコールをWindowsAPIに変換しているため動作は遅いが、POSIX準拠のため多くのソフトウェアを動作できる。
Windows上のGUIによるパッケージ管理システムとともにCUIでapt-cygというパッケージ管理システムがある。
オープンソースソフトウェアである。
MinGW
Cygwinから派生したソフトウェア。名前の由来はMinimalist GNU for Windows(Windowsのための最小構成のGNU)
WindowsでGNUツール群を用いた開発をするためのソフトウェア。POSIXに準拠していない分、高速化を実現している。
POSIXに準拠していないとは、システムコールのreadやwriteを使えないということである。
GCCコンパイラやGit(分散バージョン管理システム)をWindowsで使用したいときに使用する。
オープンソースソフトウェアである。
Windows Subsystem for Linux(WSL)
Microsoftが開発したLinux互換のカーネルインターフェース。
Windows 10 Fall Creators Updateにより、Windows OSに組み込まれた。
公開されているWindows APIではなく、非公開のWindowsのOSの内部でLinuxのカーネルを再現することにより高速化を実現している。
デーモンなどのバックグラウンドタスクは動作しないなど制限も多い。
ソフトウェアが対応しているかどうかは実際試してみないとわからない。
Windows StoreよりUbuntu、SUSE、Fedoraのディストリビューションがインストール可能である。
ディストリビューションはオープンソースだが、それを動作させるインターフェースは、Windows内部のシステムなのでソースコードは非公開である。