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

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

  • by Anonymous Coward

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

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

      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

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

ナニゲにアレゲなのは、ナニゲなアレゲ -- アレゲ研究家

処理中...