パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

WSL 2のLinuxカーネル、Windows Update経由での配布に変更へ」記事へのコメント

  • by Anonymous Coward on 2020年03月20日 6時24分 (#3782308)

    なんか他のバーチャルマシン系とそれほど違いを感じないような。WSL1のとき、Windowsカーネルで処理してますと聞いたときは素直に驚いたのだが…

    • by Anonymous Coward

      WSL1 は Cygwin や Linux における Wine のように API をエミュレートしてるだけだったから。

      • by matarillo (12702) on 2020年03月20日 9時47分 (#3782350) 日記

        エミュレートのレイヤーは違いましたね。CygwinはあくまでWindowsサブシステム上で動くものだから、バイナリーはPE(exe/dll)だし、エミュレーションはCygwin1.dllが担当して、いわゆるWin32APIを呼び出してます。一方でWSL1のエミュレーションはWindowsサブシステムやWin32APIをすっ飛ばして、もっとNTカーネルに近いところで行われているので、LinuxのELFバイナリーをそのまま動かすことができます。

        親コメント
        • by Anonymous Coward

          確かカーネルスレッド構造体内のあるフラグを見てシステムコールのマップを切り替えていました。
          なのでユーザ空間からはLinuxと同じに見えるように実装頑張っていました。

      • by Anonymous Coward

        このやたら難儀な仕組み維持するの結局諦めちゃうのかな
        サブシステムっていうには…ユーザーライド上で動いてるし…なんだこれ

    • by Anonymous Coward

      相互実行できるのが違うかなー。WSL上のファイルをWSL上でvscodeコマンドを叩いてWindows側のVS Codeで開けるし。一応、かなりいろんな面白技術は投入されてるよ。Plan9プロトコルとかマイクロVMとか。

      でも、APIエミュレーションのWSL1のが技術的に興味深いのは分かる。

    • by Anonymous Coward

      そもそもWindowsもハイパーバイザーの上で動いているのでWSLを仮想マシンというならWindowsも仮想マシンなのでは。

      • by Anonymous Coward

        動いてないよ(動かすことはできるけど)

        • by Anonymous Coward

          Win8 以降に入ったクライアントHyper-Vってのは、Hyper-V機能を有効にするとホストOSも Hyper-Vの上で動く設定に変わるんだよ。
          Hyper-V関連のどれかの機能を有効にしたら、漏れなくハイパーバイザの上で動く状態になるのだから、Pro使ってる人の多くはそうなってそうだけどな。

          • by Anonymous Coward

            動いてない=Hyper-V無効
            動かすことができる=Hyper-Vを有効にする
            VMware ESXiサーバーと一緒だろ。OSの標準機能というだけで

身近な人の偉大さは半減する -- あるアレゲ人

処理中...