- 追加された行はこの色です。
- 削除された行はこの色です。
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。
-[[戻る>Windows上で動くLinux]]
* 目次 [#m9973d60]
#contents
*概要 [#n1cb701c]
エミュレーション環境 - [[Windows Subsystem for Linux]]
エミュレーション環境(互換レイヤ)には、
*エミュレーション環境 [#wc9ae9da]
-[[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ツールを追加したもの
-オリジナルのMSYSはほぼ開発が止まっているので、代わりに「Git for Windows」を利用する
*[[Windows Subsystem for Linux]] [#c81711cc]
**[[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]]