新しい「Windows 10のBash」はどのように機能しますか?


25

私は、UbuntuとbashがWindows 10に近づいていることをオンラインで読みました。また、Windows上で実行されるエミュレーターまたは仮想マシンではなく、何か他のものであることも読みました。それで、それがどのように正確に一体になるのでしょうか?そして、それは本当にubuntuのbashと同じくらい安定していて使いやすいでしょうか?



それは実際に内部で実際に何が起こっているのかという素晴らしい写真を提供していません。
Maaverik

@maaverikそれ以来、WSLの内部を説明する一連のブログ投稿と付随するビデオを作成しました。リンクについては、以下の私の答えを参照してください:)
リッチターナー

回答:


21

WINEはエミュレータではないのと同じように、エミュレータではありません。つまり、彼らはLinuxカーネルインターフェイスをWindowsカーネルに追加しました。アプリがLinuxカーネルを使用しようとすると、Windowsネイティブシステムコールに変換され、カーネルからの応答はすべてネイティブLinux応答に変換されます。そのため、アプリはLinuxカーネル上で実行されていると考えているため、変更する必要はありません。

ただし、これは純粋にWindowsテクノロジーであるため、詳細が必要な場合は、Windowsサポートグループなどから入手する必要があります。Windowsは引き続きプロプライエタリなOSであるため、詳細は限られていると思われます。

そして、それは本当にubuntuのbashと同じくらい安定していて使いやすいでしょうか?

Ubuntuの観点からは、単純なプリミティブLinuxサーバーで実行しているだけです。これは、プリミティブXサーバーで最新のデスクトップを実行するのに匹敵します。偽のカーネルでサポートされている機能のみを使用している場合、安定しており、ユーザーフレンドリーです。サポートされていない機能を使用すると、不安定になります。

すぐに完全なUbuntu体験に近づくことはありません。


2
「エミュレータではない」はおそらく引用符で囲まれています。ワインのようにそれがあるだけではない、ハードウェアレベルではなく、APIレベルでは、エミュレータ。どちらも、実行している内容(つまり、システムコールの数)に応じてパフォーマンスが低下します。
トーマスラッター

2
@thomasrutter申し訳ありませんが同意しません。「エミュレータ」の定義が緩すぎる。このような解釈では、プロキシエミュレータも呼び出す必要があります(ただし、そうではありません)。定義により、エミュレータは物事をエミュレートします。WSL(およびプロキシ)は物事をエミュレートせず、物事を変換して転送し、応答を返します。
セグフォルト

21

Linux用Windowsサブシステム(WSL)の動作方法とネイティブLinux ELF-64バイナリの実行方法について知りたい人のために、WSLアーキテクチャ、プロセス、システムコール、およびファイルシステムのサポートについて説明する一連のブログ投稿と関連ビデオを公開しまし

Scott Hanselmanは、インストールプロセスと、Windows上のUbuntuでBashを構成する方法について説明した素晴らしいチュートリアルビデオも作成しました

HTH


3
最初のリンクは、私はそれがここに移動していると思うが、これ以上は動作しません:blogs.msdn.microsoft.com/commandline/...
dpritch

良いキャッチ-ありがとう。リンクが短縮リンクを指すように修正しました。
リッチターナー

2

bash部分はWSLで非常にうまく機能します。

カーネル部分はありません。たとえば、/sys/class/backlight/intel_backlight/brightness画面の明るさを設定するためにアクセスできるものはありません。COBOLスタイルの非常に長いフィールド名を気にしない場合は、簡単に呼び出すことができるPowershellコマンドがあります。MS Powershellは、bash内から直接呼び出すことができます。したがって、強力なWindows機能がbashに組み込まれたと言えます。同じように、MS Powershellはbashを呼び出すことができます。真PowerShellは、同様の機能へのアクセスを取得している場合grepawkheadtail、など

Ubuntuのデスクトップ(のためのGUI geditnautilusなど)のみインストールした後で動作しますVcXsrvか似たような。

LinuxとWindows WSLの間でファイルを共有することは、セットアップが複雑です。共有されたWSL + Linux NTFSフォルダー間でファイルを移動するときに、無知またはソフトウェアの不足のために、ファイルのアクセス許可の「奇妙さ」がありました。

WSLの速度はUbuntuの速度よりもはるかに遅いです。あなたが実際にあなたが実行したときに文字が画面ペイントの文字を見ることができるcaltoilet窓はbashとcygwinの違いは何ですか?

WSLは優れた製品だと思います。Windows-WorldをデュアルブートするときにWSLをいじくり回すことを楽しんでいます。MSの資金不足のために素晴らしい製品になることは決してなく、彼らはとにかく素晴らしいLinux Free-Ware Distroを持ちたくないのです。十分なRAMがあれば、おそらくVMで満足するでしょう。私自身は8 GBしかなく、RAMの価格は2019年半ばまで上昇しているので、幸いにもWSLに固執し、今のところ32 GB RAMのアップグレードを控えます。

私はいくつかのMSフォーラムを訪れましたが、リッチターナーと彼のWSLチームメンバーは、私が見た中で最も素晴らしい専門家の一部であると言わなければなりません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.