WSL2はLinuxを仮想マシンで実行しますか、それともWindowsカーネルと一緒に実行しますか?


16

私は常にWindowsでLinuxターミナルが欲しいと思っていて、WSL 1で満たされていました。しかし、Hyper-Vで管理された仮想マシンであるため、非常に遅くなりました。WSL 2では、比較的高速ですが、Microsoftがどのように作成したかを理解できません。

彼らはHyper-Vを改善したのでしょうか、それとも仮想マシンの使用をやめて、Linuxカーネルを並行して実行する魔法を生み出したのでしょうか?


3
まだ仮想ですが、WSL2はWindows APIへの呼び出しを変更してそのように処理する代わりに、Linux(4.9)カーネルを使用します。
-guiverc

9
@Sachin WSL 1は、LinuxシステムコールをWindowsシステムコールに変換することにより、Windows上でELFバイナリを実行します。これにより、その名前が示すとおりの「Windowsサブシステムfor Linux」
-wjandrea

6
WSL 1は仮想@guivercではありませんでした
エイドリアン

3
@ Sachin.Verma:「デマ」とはどういう意味ですか?LinuxカーネルがLinuxカーネルAPIとABIの実装であるように、WSL 1はLinuxカーネルAPIとABIの実装でした。実際、これはほとんどのLinux互換性レイヤーの機能です。たとえば、FreeBSD、HP-UX、AIX、Solarisなどのレイヤーは、Linuxカーネルのポートではなく、LinuxカーネルABIとAPIの独立した再実装です。また、他の方法でも機能します。Linux上の商用Unicesのすべての互換性レイヤーは、APIとABIの独立した再実装でした。
ヨルグWミットタグ

4
WinEも同様に機能します。Linuxで実行するためにWindowsを移植するのではなく、Windows APIとABIを実装します(これは法的に不可能です)。
ヨルグWミッターク

回答:


17

Microsoft DocsのWSL 2についての記事から:

WSL 2アーキテクチャの概要

WSL 2は最新かつ最高の仮想化テクノロジーを使用して、Linuxカーネルを軽量ユーティリティ仮想マシン(VM)内で実行します。ただし、WSL 2は従来のVMエクスペリエンスではありません。従来のVMエクスペリエンスは起動に時間がかかり、分離され、大量のリソースを消費し、管理に時間がかかります。WSL 2にはこれらの属性はありません。それでも、WSL 1の顕著な利点が得られます。WindowsとLinux間の高度な統合、非常に高速な起動時間、小さなリソースフットプリント、そして何よりもVMの構成や管理が不要です。WSL 2はVMを使用しますが、VMをバックグラウンドで管理および実行し、WSL 1と同じユーザーエクスペリエンスを提供します。

次の記事(およびその下の説明)で確認できるように、WLS 2はHyper-V機能を使用します。


私がこれまで読んだものから:それは隔離され、追加のリソースを消費し、専用の仮想ディスクを持ちます。
LatinSuD
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.