「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。 -[[戻る>Windows上で動くLinux]] * 目次 [#m9973d60] #contents *概要 [#n1cb701c] エミュレーション環境(互換レイヤ)には、 -[[POSIX, OS/2サブシステム>#vd6c89c8]] -[[Cygwin/MinGW/MSYS2>#p7fae205]] -[[Windows Subsystem for Linux>#c81711cc]] などがある。 *詳細 [#wc9ae9da] **POSIX, OS/2サブシステム [#vd6c89c8] -Windowsには、POSIXやOS/2といったサブシステムが提供されていた。 --サブシステムに準拠したアプリケーションを実行することができた~ (POSIXは再コンパイルが必要、OS/2は16bit版のCUIアプリがそのまま実行可)。 --これらのサブシステムはWindows XPで廃止された。 -その後、UNIX環境との相互運用サブシステムが提供されたが、現在では提供されていない。 --Services for UNIX、Subsystem for UNIX-based Applications --また、その上で動作するアプリーションが提供されていた(NFSサーバ、ゲートウェイなど)。 -参考 --UNIXとWindowsとの共存~ https://www.nic.ad.jp/ja/materials/iw/2003/proceedings/T23.pdf **Cygwin/MinGW/MSYS2 [#p7fae205] -POSIX互換レイヤーがオーバーヘッドを生じる -ディレクトリ構造がWindowsともUNIXとも異なってしまう -オリジナルの[[MSYS2>#e4d70977]]はほぼ開発が止まっているので、~ 代わりに、下記の「[[Git for Windows>#o043489a]]」を利用する。 ***Cygwin [#d64d9287] -Windows上に、LinuxやUNIXの完全なPOSIX層を提供することを目標にしている。 -互換性のために必要であれば性能も犠牲にしている。 ***MinGW [#r3e5046d] -Cygwin 1.3.3からフォークした。 -フリーのコンパイラと各種ツールのみを提供し、性能を重視している。 -Microsoftから直接提供されるライブラリmsvcrt.dllを用いている。 -このため、POSIX APIを提供していない。 --プラットフォーム非依存のライブラリを使用してアプリケーションを作成する必要がある。 --ネットワークプログラミングの read/write を、recv/send に置き換える必要がある。 ***MSYS2 [#e4d70977] -MinGWを補う目的で作られた。 -プログラム開発の用途に限定的。 -ツールを統合したパッケージ --Unixシェル(Bash) --テキスト操作ユーティリティ(gawk, sed, findutil) --ソースコードパッチ用ツール(diffutil) --アーカイブツール(tar, bzip2, zlib) ***Git for Windows [#o043489a] -MSYSに最新のセキュリティパッチを適用した上で、Windows向けのGitツールを追加したもの **[[Windows Subsystem for Linux]] [#c81711cc] *参考 [#p45ed809] -Tech TIPS:【総まとめ】Windowsコマンドプロンプトの入門から使いこなしまでの記事 - @IT~ http://www.atmarkit.co.jp/ait/articles/1505/28/news031.html ---- Tags: [[:Windows]], [[:Linuxサブシステム]] Tags: [[:Windows]], [[:Linuxサブシステム]], [[:Linux]]