「[[マイクロソフト系技術情報 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]]

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS