SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

CodeZineニュース

Microsoft、eBPF機能のWindowsへの実装を目指すオープンソースプロジェクトを設立

  • X ポスト
  • このエントリーをはてなブックマークに追加

  • X ポスト
  • このエントリーをはてなブックマークに追加

 米Microsoftは、Linuxネイティブのカーネル内仮想マシンであり、プログラム可能性、拡張性、俊敏性を提供するeBPF(extended Berkeley Packet Filter)を、Windows 10とWindows Server 2016以降で動作させるための、新たなオープンソースプロジェクト「eBPF-for-Windows」を5月10日(現地時間)に発表した。

 「eBPF-for-Windows」は、Windowsの既存バージョン上でeBPFのツールチェーンやAPIを使えるようにすることを目的としており、現状での開発は比較的初期段階にある。

 Windows版eBPFによって、clangなど既存のeBPFツールチェーンを使用して、さまざまな言語のソースコードからeBPFバイトコードを生成でき、結果のバイトコードは任意のアプリケーションでの使用や、Windows netshコマンドラインツールでの手動での使用が可能で、Libbpf APIを公開する共有ライブラリを使用する。

 ライブラリは、eBPFバイトコードをユーザーモード保護プロセスでホストされている静的ベリファイア(PREVAILベリファイア)に送信し、バイトコードがすべてのベリファイアの安全性チェックに合格した場合に、そのバイトコードは Windowsカーネルモード実行コンテキストで実行されているuBPFインタープリターにロードされるか、uBPFのJITコンパイラによってコンパイルされてネイティブコードをロードできる。

 カーネルモード実行コンテキストにインストールされたeBPFプログラムは、さまざまなフックに接続してイベントを処理し、パブリックWindowsカーネルAPIを内部的にラップするeBPFシムによって公開されるさまざまなヘルパーAPIを呼び出して、既存のバージョンのWindowsでeBPFを使用可能にする。これまでに、XDPとソケットバインドが追加されており、今後はさらに多くのフックとヘルパーが追加される予定となっている。

 なお、同プロジェクトは既存のeBPFのフォークではなく、IOVisor uBPFプロジェクトやPREVAILベリファイアといった既存のオープンソースプロジェクトを活用して、そのコードにWindows固有のホスティング環境を追加するものであり、OSのエコシステム全体に適用される共通のフックとヘルパーを使用するコードに、ソースコード互換性を提供することを目指す。

 あわせて、同プロジェクトではLibbpf APIを公開し、eBPFプログラムと対話するアプリケーションに対して、ソースコード互換性を提供する。

関連リンク

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
この記事の著者

CodeZine編集部(コードジンヘンシュウブ)

CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/14144 2021/05/14 08:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング