アカウント名:
パスワード:
なんか他のバーチャルマシン系とそれほど違いを感じないような。WSL1のとき、Windowsカーネルで処理してますと聞いたときは素直に驚いたのだが…
WSL1 は Cygwin や Linux における Wine のように API をエミュレートしてるだけだったから。
エミュレートのレイヤーは違いましたね。CygwinはあくまでWindowsサブシステム上で動くものだから、バイナリーはPE(exe/dll)だし、エミュレーションはCygwin1.dllが担当して、いわゆるWin32APIを呼び出してます。一方でWSL1のエミュレーションはWindowsサブシステムやWin32APIをすっ飛ばして、もっとNTカーネルに近いところで行われているので、LinuxのELFバイナリーをそのまま動かすことができます。
確かカーネルスレッド構造体内のあるフラグを見てシステムコールのマップを切り替えていました。なのでユーザ空間からはLinuxと同じに見えるように実装頑張っていました。
このやたら難儀な仕組み維持するの結局諦めちゃうのかなサブシステムっていうには…ユーザーライド上で動いてるし…なんだこれ
https://forest.watch.impress.co.jp/docs/news/1240999.html [impress.co.jp]先のことは解りませんがWSL1も維持するようです
相互実行できるのが違うかなー。WSL上のファイルをWSL上でvscodeコマンドを叩いてWindows側のVS Codeで開けるし。一応、かなりいろんな面白技術は投入されてるよ。Plan9プロトコルとかマイクロVMとか。
でも、APIエミュレーションのWSL1のが技術的に興味深いのは分かる。
そもそもWindowsもハイパーバイザーの上で動いているのでWSLを仮想マシンというならWindowsも仮想マシンなのでは。
動いてないよ(動かすことはできるけど)
Win8 以降に入ったクライアントHyper-Vってのは、Hyper-V機能を有効にするとホストOSも Hyper-Vの上で動く設定に変わるんだよ。Hyper-V関連のどれかの機能を有効にしたら、漏れなくハイパーバイザの上で動く状態になるのだから、Pro使ってる人の多くはそうなってそうだけどな。
動いてない=Hyper-V無効動かすことができる=Hyper-Vを有効にするVMware ESXiサーバーと一緒だろ。OSの標準機能というだけで
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
身近な人の偉大さは半減する -- あるアレゲ人
WSL2って (スコア:0)
なんか他のバーチャルマシン系とそれほど違いを感じないような。WSL1のとき、Windowsカーネルで処理してますと聞いたときは素直に驚いたのだが…
Re: (スコア:0)
WSL1 は Cygwin や Linux における Wine のように API をエミュレートしてるだけだったから。
CygwinとWSL1の違い (スコア:3)
エミュレートのレイヤーは違いましたね。CygwinはあくまでWindowsサブシステム上で動くものだから、バイナリーはPE(exe/dll)だし、エミュレーションはCygwin1.dllが担当して、いわゆるWin32APIを呼び出してます。一方でWSL1のエミュレーションはWindowsサブシステムやWin32APIをすっ飛ばして、もっとNTカーネルに近いところで行われているので、LinuxのELFバイナリーをそのまま動かすことができます。
Re: (スコア:0)
確かカーネルスレッド構造体内のあるフラグを見てシステムコールのマップを切り替えていました。
なのでユーザ空間からはLinuxと同じに見えるように実装頑張っていました。
Re: (スコア:0)
このやたら難儀な仕組み維持するの結局諦めちゃうのかな
サブシステムっていうには…ユーザーライド上で動いてるし…なんだこれ
Re: (スコア:0)
https://forest.watch.impress.co.jp/docs/news/1240999.html [impress.co.jp]
先のことは解りませんがWSL1も維持するようです
Re: (スコア:0)
相互実行できるのが違うかなー。WSL上のファイルをWSL上でvscodeコマンドを叩いてWindows側のVS Codeで開けるし。一応、かなりいろんな面白技術は投入されてるよ。Plan9プロトコルとかマイクロVMとか。
でも、APIエミュレーションのWSL1のが技術的に興味深いのは分かる。
Re: (スコア:0)
そもそもWindowsもハイパーバイザーの上で動いているのでWSLを仮想マシンというならWindowsも仮想マシンなのでは。
Re: (スコア:0)
動いてないよ(動かすことはできるけど)
Re: (スコア:0)
Win8 以降に入ったクライアントHyper-Vってのは、Hyper-V機能を有効にするとホストOSも Hyper-Vの上で動く設定に変わるんだよ。
Hyper-V関連のどれかの機能を有効にしたら、漏れなくハイパーバイザの上で動く状態になるのだから、Pro使ってる人の多くはそうなってそうだけどな。
Re: (スコア:0)
動いてない=Hyper-V無効
動かすことができる=Hyper-Vを有効にする
VMware ESXiサーバーと一緒だろ。OSの標準機能というだけで