Microsoftは、Windows 10Linuxサブシステムがどのように機能するかを明らかにします

How to effectively deal with bots on your site? The best protection against click fraud.

ザ・ Windows上のUbuntuでBash ネイティブLinuxELF64バイナリをWindowsSubsystem for Linux(WSL)経由でWindows上で実行できるようにします。 多くの人がBashon Ubuntuの発表にショックを受けましたが、異なるオペレーティングシステム間の互換性への新しい扉を開くことは言及する価値があります。 Microsoftはさらに一歩前進し、WSLがどのように機能するかを明らかにして、2つのシステムが互いにどのように通信するかをよりよく理解できるようにします。

WSLはMicrosoftWindowsカーネルチームによって作成され、ユーザーモードとカーネルモードの両方のコンポーネントが含まれています。 より具体的には、システムは以下で構成されています。

  • Linuxインスタンスのライフサイクルを処理するユーザーモードのセッションマネージャーサービス
  • Linuxシステムコールを変換してLinuxカーネルをエミュレートする役割を持つPicoプロバイダードライバー(lxss.sys、lxcore.sys)
  • 変更されていないユーザーモードLinux(/ bin / bashなど)をホストするPicoプロセス。

3つのコンポーネント間の接続は次のように説明されます。

魔法が起こるのは、ユーザーモードのLinuxバイナリとWindowsカーネルコンポーネントの間のスペースです。 変更されていないLinuxバイナリをPicoプロセスに配置することで、LinuxシステムコールをWindowsカーネルに送信できるようになります。 lxss.sysおよびlxcore.sysドライバーは、LinuxシステムコールをNT APIに変換し、Linuxカーネルをエミュレートします。

このプロセスの主な課題は、2つのシステムを連携させることです。

WSLは、Windows NTカーネル上でLinuxカーネルインターフェイスを仮想化することにより、変更されていないLinuxELF64バイナリを実行します。 それが公開するカーネルインターフェースの1つは、システムコール(syscalls)です。 システムコールは、ユーザーモードから呼び出すことができるカーネルによって提供されるサービスです。 LinuxカーネルとWindowsNTカーネルはどちらも、数百のsyscallをユーザーモードに公開しますが、セマンティクスが異なり、通常は直接互換性がありません。 たとえば、Linuxカーネルにはfork、open、killなどが含まれますが、Windows NTカーネルには同等のNtCreateProcess、NtOpenFile、およびNtTerminateProcessがあります。

instagram story viewer

Linux用のWindowsサブシステムには、Windows NTカーネルと連携してLinuxシステムコール要求を処理するカーネルモードドライバー(lxss.sysおよびlxcore.sys)が含まれています。 ドライバーにはLinuxカーネルのコードは含まれていませんが、代わりにLinux互換のカーネルインターフェイスのクリーンルーム実装です。 ネイティブLinuxでは、syscallがユーザーモードの実行可能ファイルから作成されると、Linuxカーネルによって処理されます。 WSLでは、同じ実行可能ファイルからsyscallが行われると、WindowsNTカーネルが要求をlxcore.sysに転送します。 可能な場合、lxcore.sysはLinuxのsyscallを同等のWindows NT呼び出しに変換します。これにより、手間のかかる作業が行われます。

オープンソースプラットフォームに対するMicrosoftの関心を考慮に入れると、多くの人が疑問に思いました。 技術の巨人は、CanonicalなどのLinuxに焦点を当てた主要企業を買収する必要があります、Ubuntuオペレーティングシステムの背後にある会社。 MicrosoftとCanonicalはオープンソースソフトウェアで協力しましたが、どちらもこの可能性についてコメントを出しませんでした。

LinuxとWindowsの相互作用がどのように進化するかに興味がある場合は、 Microsoftのブログにアクセスする. チームは、このトピックに関するブログ投稿がさらに続くことを約束しました。

チェックアウトする必要のある関連記事:

  • Linuxユーザーが「ヘッドフォンがWindows8.1で動作を停止した」問題を報告する
  • MicrosoftとCanonicalは、Build2016でBashをWindows10に導入します
  • ミュンヘンがWindowsXPユーザーへの無料UbuntuCDの配布を開始
Teachs.ru
Microsoftは、Windows10のUbuntuでBashに多くの改善をもたらします

Microsoftは、Windows10のUbuntuでBashに多くの改善をもたらしますウインドウズ10Windowslinuxサブシステム

Microsoftは、Windows10プレビューに多くの改善を導入しました。 最新のビルド14361. おそらく最も多くの変更を受け取った機能は Windows10上のUbuntuでのBash. Microsoftは、Linux開発者が今さらに優れた仕事をするのに役立つLinux用サブシステム機能のUbuntuBashコンソールの改善点の膨大なリストを明らかにしました。最新のWindows...

続きを読む
LinuxOracleはMicrosoftStoreで見つけることができます

LinuxOracleはMicrosoftStoreで見つけることができますLinuxオラクルWindowslinuxサブシステム

Oracle Linuxの最新バージョンをダウンロードすることに興味がありましたか?Microsoft Storeを探すだけで、そこに見つけることができます。アプリは、WSL用のOracle Linux 8 Update5をダウンロードしてインストールします。インストールしたら、 次のように入力して起動できます oraclelinux85CMDで。利用可能なオペレーティングシステムのどれが最...

続きを読む
Windows 11 で EXT4 をマウント、読み取り、またはフォーマットする方法

Windows 11 で EXT4 をマウント、読み取り、またはフォーマットする方法LinuxWindowslinuxサブシステム

まず、WSL2 がインストールされ、更新されていることを確認します。WSL2 を使用すると、PowerShell でいくつかのコマンド ラインを使用するだけで、Windows 11 に EXT4 をマウントして読み取ることができます。何かを始める前に、WSL2 が Windows 11 にインストールされており、そのカーネルが更新されていることを確認してください。Windows 11 で E...

続きを読む
ig stories viewer