FC2ブログ


WSL無印(WSL1)とWSL2の違い

ここでは、「WSL無印(WSL1)とWSL2の違い」 に関する記事を紹介しています。

-->
疑問質問はTwitter(@hi_tec01)でも受け付けています https://twitter.com/hi_tec01
雑談等もしますし、どなたでもフォローしていただいて構いません。楽しく会話しましょう!
先月の閲覧TOP3は以下の記事となっております
1位:無料でステレオミキサーを入れよう!!(仮想ステレオミキサー)
2位:OBSでニコ生「高画質」「低負荷」放送する方法 Open Broadcaster Software
3位:OBSで高画質配信!生放送!導入と設定方法 Open Broadcaster Software

ぱっとみは変わりません。
どちらもCドライブは/mnt/cに勝手にマウントされています。

違いをざっくりいうと、
WSLはLinuxのシステムコールをWindowsのシステムコールにいちいち変換しながら動作する。
WSL2は全てハイパーバイザで仮想化されて動作する。
です。

イメージ的には、WSLは仮想マシンよりもCygwinに近いみたいですね。
WSL2はもう完全に仮想マシンです。ただ、難しい設定なしでファイルシステムにアクセスできたりインターネットにつながったりと、Hyper-vより扱いは簡単です。

WSLはWindows上でLinuxのシェルを動かすことでLinuxのコマンドラインでの操作性をとり入れたかったように見えます。
DOSプロンプト→コマンドプロンプト→PowrShell→Bashという変遷となるでしょうか。

しかし、Linuxのシステムコールをすべて変換するのは困難だったのか、WSL2へ舵をきりました。
WSL2はただただ仮想マシンの上でLinuxが動くので、そのほかの仮想マシンと何ら変わりはありません。
ただ、最初からWindowsのファイルシステムが勝手にマウントされています。
ですので、インストールしたらすぐWindows上にあるファイルをgrepで検索したりできるわけです。
(こうなると、もうPowerShellイラネ となりますね。)

参考になるかわかりませんが、コマンド実行結果の違いを挙げてみます。
・freeコマンド
 WSL→Windowsの物理メモリや仮想メモリ量が表示される。
 WSL2→仮想マシンに割り当てられたメモリ量がLinuxの物理メモリとして表示される。

・ipコマンド
 WSL→Windowsが持っているIPアドレスが表示される。(ほかにも内部通信用なのかたくさんIPを持っている。詳細は不明。)
 WSL2→独自のIPを持っている。(NAPTされてインターネットへつながる。)

結論
grepやbashが使いたいだけなら、どっちでもいいですね。
WindowsをLinuxのCLIで動かしたいならWSL、Linuxを純粋なLinuxとして扱いたいならWSL2といったところでしょうか。
WSLについてはどの程度システムコールを変換してくれるかはマイクロソフトのやる気次第です。WSL2がメインになってくるとメンテナンスされなくなっていくのかもしれません。


スポンサードリンク
コメント
この記事へのコメント
コメントを投稿する
URL:
Comment:
Pass:
秘密: 管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
http://3pypromo.blog.fc2.com/tb.php/370-16b46598
この記事にトラックバックする(FC2ブログユーザー)
この記事へのトラックバック