WSL 2 では、新しいバージョンの Windows で ELF64 Linux バイナリを実行する Linux 用 Windows サブシステムが作動するアーキテクチャです。WSL 2 is a new version of the architecture that powers the Windows Subsystem for Linux to run ELF64 Linux binaries on Windows. その主な目標は、完全なシステムの呼び出しの互換性を追加するとともに、ファイル システムのパフォーマンスを向上させる。Its primary goals are to increase file system performance, as well as adding full system call compatibility. この新しいアーキテクチャでは、これらの Linux バイナリが Windows およびコンピューターのハードウェアとやり取りする方法の変更が、WSL 1 (現在広く普及しているのバージョン) のように、同じユーザー エクスペリエンスが提供されます。This new architecture changes how these Linux binaries interact with Windows and your computer’s hardware, but still provides the same user experience as in WSL 1 (the current widely available version). WSL 1 ディストリビューションの場合、または、WSL 2 ディストリビューションでは、ディストリビューションを実行できる個々 の Linux のアップグレードや、いつでもダウン グレードが可能し、サイド バイ サイドの WSL 1 と WSL 2 ディストリビューションを実行することができます。Individual Linux distros can be run either as a WSL 1 distro, or as a WSL 2 distro, can be upgraded or downgraded at any time, and you can run WSL 1 and WSL 2 distros side by side. WSL 2 では、実際の Linux カーネルを使用する、まったく新しいアーキテクチャを使用します。WSL 2 uses an entirely new architecture that uses a real Linux kernel.

WSL 2 での Linux カーネルLinux kernel in WSL 2

WSL 2 での Linux カーネルは kernel.org で使用可能なソースに基づいた最新の安定したブランチから、社内で構築されています。このカーネルは WSL 2 特別に調整されています。The Linux kernel in WSL 2 is built in house from the latest stable branch, based on the source available at kernel.org. This kernel has been specially tuned for WSL 2. サイズとパフォーマンスを Windows を驚くほどの Linux のエクスペリエンスを提供するために最適化された、Windows 更新プログラムが処理されますので、自分で管理することがなく、最新のセキュリティ修正プログラムとカーネル機能強化が表示されます。It has been optimized for size and performance to give an amazing Linux experience on Windows and will be serviced through Windows updates, which means you will get the latest security fixes and kernel improvements without needing to manage it yourself.

さらにこのカーネルは、オープン ソースになります。Additionally this kernel will be open source. 完全なソース コードを検索するには、Linux カーネルのここします。You can find the full source code for the Linux kernel here. 詳細したい場合については、このカーネルをチェック アウトできますこのブログの投稿のビルド チームによって書き込まれました。If you’d like to read more about this kernel you can check out this blog post written by the team that built it.

WSL 2 アーキテクチャの概要Brief overview of the WSL 2 architecture

WSL 2 は、軽量なユーティリティ仮想マシン (VM) 内での Linux カーネルを実行するのに、最新かつ最高の仮想化テクノロジを使用します。WSL 2 uses the latest and greatest in virtualization technology to run its Linux kernel inside of a lightweight utility virtual machine (VM). ただし、WSL 2 には、従来の VM エクスペリエンスはできません。However, WSL 2 will NOT be a traditional VM experience. 従来の VM のエクスペリエンスは、起動に時間がかかることができます、分離された、多数のリソースを消費、および、時間を管理する必要がありますを。A traditional VM experience can be slow to boot up, is isolated, consumes lots of resources, and requires your time to manage it. WSL 2 には、これらの属性はありません。WSL 2 does not have these attributes. まだ WSL 1 の非常に大きなメリットが得られます。VM の構成または管理、高レベルの Windows と Linux、非常に高速起動時間、小規模リソースのフット プリント、およびすべての間の統合は必要ありません。It will still give the remarkable benefits of WSL 1: High levels of integration between Windows and Linux, extremely fast boot times, small resource footprint, and best of all will require no VM configuration or management. WSL 2 は、VM を使用して、これは、管理され WSL 1 と同じユーザー エクスペリエンスを終了するシーンの背後で実行されます。While WSL 2 does use a VM, it will be managed and run behind the scenes leaving you with the same user experience as WSL 1.

ファイル IO パフォーマンスを向上Increased file IO performance

ファイルの処理を要する操作などの git クローン、npm のインストール、apt 更新プログラム、apt アップグレード、およびすべて非常に高速です。File intensive operations like git clone, npm install, apt update, apt upgrade, and more will all be noticeably faster. どのアプリでは、実行して、ファイル システムとの対話方法をしている実際の速度の増加によって異なります。The actual speed increase will depend on which app you’re running and how it is interacting with the file system. WSL 2 の最初のバージョンの実行に最大 20 倍の速さの周りを zip 形式の tarball をアンパックし、WSL 1 と比べて 2 ~ 5 倍高速化するさまざまなプロジェクトで git クローン、npm のインストールおよび cmake を使用します。Initial versions of WSL 2 run up to 20x faster compared to WSL 1 when unpacking a zipped tarball, and around 2-5x faster when using git clone, npm install and cmake on various projects.

完全なシステムの呼び出しの互換性Full System Call Compatibility

Linux のバイナリは、ファイルへのアクセス、メモリを要求して、プロセス、および詳細の作成などの多くの機能を実行するのにシステム コールを使用します。Linux binaries use system calls to perform many functions such as accessing files, requesting memory, creating processes, and more. WSL 1 の WSL チームによって構築された変換レイヤーに対して、WSL 2 には、完全なシステムの呼び出しの互換性の独自の Linux カーネルが含まれます。Whereas WSL 1 used a translation layer that was built by the WSL team, WSL 2 includes its own Linux kernel with full system call compatibility. これには、Docker などの WSL 内で実行できるアプリのまったく新しいセットが導入されています。This introduces a whole new set of apps that you can run inside of WSL, such as Docker and more. さらに、それらを追加、変更を実装し、WSL チームを待つのではなく、Linux カーネルに更新プログラムをすぐに、コンピューターに追加することができます。Additionally, any updates to the Linux kernel can be immediately ready to be added to your computer, rather than waiting for the WSL team to implement the changes and then have them added.