WSL 2のLinuxカーネル、Windows Update経由での配布に変更へ 44
ストーリー by hylom
Windows-UpdateでアップデートされるLinux 部門より
Windows-UpdateでアップデートされるLinux 部門より
Anonymous Coward曰く、
2020年前半にリリース予定のWindows 10の新バージョン(Windows 10 version 20H1、もしくは2004)では、Windows上でLinuxカーネルを動作させるWindows Subsystem for Linuxの新版(WSL2)が導入される予定だが、WSL2ではWindows UpdateでLinuxカーネルのアップデートも提供されることになるという。
現在、WSLではOSイメージの一部としてLinuxカーネルが提供されているが、Windows Update経由でLinuxカーネルを提供することで、Linuxカーネルのアップデートを迅速かつ頻繁にユーザーが行えるようになるという。
ただし、Windows Update経由でのLinuxカーネル配布開始はWindows 10 version 2004のリリースから数ヶ月後になるとのことで、初期リリースでは一時的に手動でLinuxカーネルをインストールする必要があるという(ZDNet、マイナビニュース、Slashdot)。
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の標準機能というだけで
コンテナベースにしろよ (スコア:0)
kubernetesサブシステムみたいなやつで
Re:コンテナベースにしろよ (スコア:2)
実際、WSL2はコンテナベースになってます。
とはいえWindowsのコンテナ技術はLinuxコンテナとは結構違っていますが。
Windowsのコンテナは大雑把に言うと「プロセス隔離」と「ハイパーバイザ隔離」の2種類があって、WSL2は後者。
ハイパーバイザ隔離というのはHyper-V技術を使うということなのですけど、フル機能のHyper-VによるVMを立てるよりは軽量のようです。
Re: (スコア:0)
いや、コンテナベースじゃなくて、WindowsコンテナでIsolationないしはLinuxを動かすための超軽量VM技術(マイクロVMとか呼んだりするやつ)を使う。
1秒とかからずLinuxを起動して一度起動すると、それ以降はコンテナで動くから非常に高速なのがWSL2の仕組み。
ちなみに元コメのk8s云々はレイヤーが違うね。そもそも。WSLでコンテナは動かせるよ。
Re: (スコア:0)
マイクロVMがコンテナではない、というなら、
君はgvisorやfirecrackerを使うのはコンテナではないというのかね。
Re: (スコア:0)
>コンテナベースにしろよ
何の目的で?
>kubernetesサブシステムみたいなやつで
NTKERNELにkubeポーティングしろってこと?
Re: (スコア:0)
元コメはNTKERNEL辞めろ(窓辞めろ)と言ってるだけですのよ。
Re: (スコア:0)
おいら、コンテナちゅーもの自体がよく理解できてないままdocker for windows使ってるんだけど
コンテナベースちゅーのは一体どんなもん?
例えば、CentOS7向けのあのApacheのバイナリを動かしたい!となった時に
Apache専用のVMのようなものが一つできて、その環境の中でApacheが動く、みたいな感じ?
pgsqlを動かしたくなったら、また別にVMができて、、、みたいな?
Re: (スコア:0)
そうなるとOS単位の仮想化というよりJavaVMや.NET Runtimeのようなアプリケーション実行環境としての仮想マシンに近くなるな
Re: (スコア:0)
今は何でもかんでもVMと呼ぶが、VMつうたらIBM汎用機のスーパーバイザーだった時代もあった。
# llvmだけは許さない。
Re: (スコア:0)
VMつうたらPC-9801(VM以降)のVMだった時代もあった
Re: (スコア:0)
仮想マシンの歴史はPC-9801より古いってのが凄いね。
今や古の仮想マシン技術全盛。
Re: (スコア:0)
インプレス記事中で挙げられてるメリットは
ファイルやネットI/Oの部分だけ隔離環境バージョン用意すればいいじゃんとオレも思った
口出しできない本家実装に追従すんのが面倒/割に合わなくなったのが主因だろうけど
Re: (スコア:0)
OSが違ったらコンテナでは同居はできないよ。
コンテナ技術って要するに名前空間の分離だもの。
仮想メモリはメモリのアドレスを読み替えるものだしNATはソケットアドレスを読み替えるもの。
同じようにファイルパスやプロセスIDを読み替えればプロセスの実行空間を分離できる。
単に名前や番号を読み替えるだけだから処理の負担も軽くなる。そこが良い所。
単に名前や番号を読み替えるだけだから違うOSのソフトは動かない。そこがVMとは違う所。
やっぱりUNIX (スコア:0)
MS-DOSの頃からUNIX風プログラミングをしてた身からするとやっぱりこうなるのねって感じがする。
あとは日本語対応がちゃんとされれば何も問題ない。
Re:やっぱりUNIX (スコア:2)
× UNIX
○ Linux
たぶん、Linuxがなかったら、こんなふうにはなってない。
Re: (スコア:0)
いまなら、MSがやっても、パクリとか言われたりはしない。機は熟した。
Re: (スコア:0)
XENIX [wikipedia.org]改めOpenServer [wikipedia.org]「・・・・俺は無かったもの扱いかよ」
Re: (スコア:0)
そのへんのも、今となってみれば、ビジネス上の下積みになってる気はする。
Re: (スコア:0)
UN*Xも時間をかけてUTF-8化が進んできましたから。Plan9から30年弱でしたか。
淘汰が進んでLinuxにほぼ集約されたのが大きいでしょう。
半世紀しか触っていないにわかの意見ですが。
Re: (スコア:0)
>半世紀しか触っていないにわかの意見ですが。
参考までに、にわかではない人はどれくらい触ってないと駄目なのでしょうか?
Re: (スコア:0)
51年じゃね。(1969-)
#四半世紀程度ではにわか以下か……
Re: (スコア:0)
こういうマウント猿がいる限りWindowsの天下は揺るがない
Re: (スコア:0)
LinuxカーネルがWindowsの一機能に成り下がった(しかもデフォルトでは無効)って話なんだが
unix界隈の人はこんな結末で満足なのかな
Re: (スコア:0)
その言い方なら、WindowsなんかWineで遥か昔からLinuxの一機能に成り下がってるじゃん。
Re: (スコア:0)
Linux上でNTカーネルが動いてるの?
Re: (スコア:0)
アプリケーション(バイナリ)をそのまま動かすための環境って意味では変わらんでしょ。
OSのセットアップして満足しちゃうならともかく、目的はアプリを動かして何かするって事なんだし。
Re: (スコア:0)
どっちのアプリも動くならもうLinuxをメインで使う理由はないね
Re: (スコア:0)
Linuxの上でNTカーネルも動くよ。
WineじゃないがLinux 版の SQLサーバーは、ユーザーモードNTカーネルの上で動いてる。
正確にはSQLOSというラッパレイヤだけど、その中にユーザーモードNTカーネルも含まれる。
Re: (スコア:0)
ユーザーモードNTカーネルって造語か? 聞いたことないんだけど。
SQLOSの実体はAPIのラッパーと共有コンポーネントでしかない。
Re: (スコア:0)
Micorosft が公式に SQLOSのコア部の Drawbridgeの主要な機能として Usermode NT kernelって言ってんだから、他の言葉使う理由もなかろう。
そんな最近出てきたものじゃないので、さすがに聞いたことないってのは、ちょっと恥ずかしいと思っていいぞ。
Re: (スコア:0)
思い出した。むかし研究開発してたLibrary OSの用語だろ、それ。
最初しか言われてなくてとっくに死語だよ。ちゃんと情報追ってるか?
Re: (スコア:0)
別に、Linuxカーネルの稼働数のうち
WSLで動いているのは、半分まで増えることも無いでしょ?
PCだけに限定しても
PCサーバーが含まれるなら
素のLinuxか、Linux上の仮想マシンの中のほうが多いでしょ。
Windows 10新バージョン(Windows 10 version 20H1、もしくは2004) (スコア:0)
Windows 2004 !!!