by
Anonymous Coward
on 2018年12月07日 21時06分
(#3529190)
言われてみると、Microsoft 製の Azure 向けのサーバー OS が Linux らしいし、 Windows10 では WSL というなんちゃって Linux カーネルが動くわけだし、 これが順調に成長して母屋の Windows とシームレスに動くようになったら、 Linux カーネルベースではないけれども、限りなくそれに近い状態になるかもね。
かつては、Service for Unix とか本物の Unix カーネルも動いてたわけです。 これは WSLのような Win32 上のアプリケーションとして実装されたものじゃなく、Win32 と全く同レベルで別のカーネルが動いてた状態。 Win32 on NT と Unix on NT は並行して動作させてたわけですよ。今は Win32 on NT だけで動いてるから、Win32 = NT だと思い込む人が多いけど。 Linux on NT も技術的な話なら、そんなに難しい話ではないのだけど、あえてそうしていない理由もあるとは思いませんかね。
WSLだって、Windows Services for Unixなどと同様にNTカーネルの下で動く仕組みだよ。
むしろ、NTカーネルに手を入れて(Picoプロセスなど)、それを活用するlxss.sysとlxcore.sysのカーネルモードデバイスドライバを作っている。Windows Services for Unixなど従来のサブシステムでは、カーネルとの口は全サブシステム共通でNTDLL.DLLが担っていて、カーネルには特別な処理は無かったとすら言える作りと対照的。
Posixサブシステムを「Unix on NT」と表現するなら、WSLだって十分「Linux on NT」と言っていいだろう。
次はWindowsのカーネルが・・・ (スコア:0, おもしろおかしい)
Linuxカーネルになるんですね。
Re: (スコア:0)
この内容のコメントここ最近よく書かれてるけど本気でそう思ってるのか冗談なのかわからん。
Re: (スコア:0)
でもさ、このブラウザの件だって一昔前なら冗談みたいな話だよ
それが現実になっちゃってるわけだし
この流れがここで止まるだろうと考える方がむしろ冗談でしょ
Re:次はWindowsのカーネルが・・・ (スコア:0)
言われてみると、Microsoft 製の Azure 向けのサーバー OS が Linux らしいし、
Windows10 では WSL というなんちゃって Linux カーネルが動くわけだし、
これが順調に成長して母屋の Windows とシームレスに動くようになったら、
Linux カーネルベースではないけれども、限りなくそれに近い状態になるかもね。
Re:次はWindowsのカーネルが・・・ (スコア:1)
WSLはカーネルじゃないよ。デバイス周りなんかのカーネル機能は一切ない。
libcのシステムコールが実行できるだけ。
Re: (スコア:0)
全てのLinuxカーネルの機能を提供しているわけではない、というのはその通りですが、
libcが使用するシステムコールに対応している時点で、
それはLinux内から見たら「なんちゃってカーネル」なのでは?
Windows側から見たらカーネルドライバ(lxss.sys, lxcore.sys)ですが。
Re: (スコア:0)
なんちゃって、の定義による。
一般的にはああいうものはエミュレータと呼ばれている。
Re: (スコア:0)
wine
Re: (スコア:0)
デバイス周りがカーネル…? と一瞬思ったがそういえばLinuxはモノリシックカーネルだった
Re:次はWindowsのカーネルが・・・ (スコア:1)
モノリシックカーネルと聞くといつも、月の広大な砂漠にたたずむ巨大な黒い立方体に映されるカーネルサンダースの笑顔が思い浮かぶんよね。 で、その周りに散らばる、耳のあたりを押さえようとして転げまわる宇宙服。 きっと大音量でサウンドロゴが流れたに違いない。
Re: (スコア:0)
アレのおかげでモノシリックカーネルと間違えないで済むので重要
Re: (スコア:0)
ベアメタルではミニマルなlinuxが動いて、その上にKVMに最適化したwindowsが動くってのはありそうな気がする。
Re: (スコア:0)
かつては、Service for Unix とか本物の Unix カーネルも動いてたわけです。
これは WSLのような Win32 上のアプリケーションとして実装されたものじゃなく、Win32 と全く同レベルで別のカーネルが動いてた状態。
Win32 on NT と Unix on NT は並行して動作させてたわけですよ。今は Win32 on NT だけで動いてるから、Win32 = NT だと思い込む人が多いけど。
Linux on NT も技術的な話なら、そんなに難しい話ではないのだけど、あえてそうしていない理由もあるとは思いませんかね。
Re: (スコア:0)
これは WSLのような Win32 上のアプリケーションとして実装されたものじゃなく、
WSLだって、Windows Services for Unixなどと同様にNTカーネルの下で動く仕組みだよ。
むしろ、NTカーネルに手を入れて(Picoプロセスなど)、それを活用するlxss.sysとlxcore.sysのカーネルモードデバイスドライバを作っている。Windows Services for Unixなど従来のサブシステムでは、カーネルとの口は全サブシステム共通でNTDLL.DLLが担っていて、カーネルには特別な処理は無かったとすら言える作りと対照的。
Posixサブシステムを「Unix on NT」と表現するなら、WSLだって十分「Linux on NT」と言っていいだろう。
Re: (スコア:0)
WSLとService for Unixはほぼ同じ仕組みだ。
Win32サブシステム上で動いてるわけじゃない。
Re: (スコア:0)
言われてみると、Microsoft 製の Azure 向けのサーバー OS が Linux らしいし、
たぶんWindowsだと思う。