Mozilla、Fastly、Intel、Red Hatは、WebAssemblyをユニバーサルプラットフォームとして宣伝しています

WebAssembly

Mozilla、Fastly、Intel、およびRed Hatは、 開発する を作る技術 WebAssembly ユニバーサルプラットフォーム あらゆるインフラストラクチャでコードを安全に実行する、オペレーティングシステムおよびデバイス。 WebブラウザだけでなくWebAssemblyの使用を可能にするランタイムとコンパイラの共同開発のために、BytecodeAllianceコミュニティが形成されました。

ポータブルプログラムを作成するには WebAssembly形式で配信 ブラウザの外部で実行できる場合は、WASIAPIを使用することをお勧めします (WebAssemblyシステムインターフェイス)。オペレーティングシステムと直接対話するためのプログラムインターフェイス(ファイル、ソケットなどを操作するためのPOSIX API)を提供します。

特徴的な機能 WASを使用するアプリケーションの実行モデルの概要サンドボックス環境で起動しています メインシステムから分離し、容量管理に基づくセキュリティメカニズムを使用するには、各リソース(ファイル、ディレクトリ、ソケット、システムコールなど)でのアクションに対して、アプリケーションに対応する承認が必要です(アクセスは提供されるだけです)。宣言された機能へ)。

A 同盟の目的の 作成した 多くの依存関係を持つ最新のモジュラーアプリケーションの拡散の問題を解決することです。 このようなアプリケーションでは、各依存関係が脆弱性または攻撃の潜在的な原因となる可能性があります。 依存関係制御を取得すると、それに関連付けられているすべてのアプリケーションを制御できるようになります。

Bytecode Allianceのメンバーは、完全なソリューションを準備する予定です。 最初は信頼されていないWebAssemblyアプリケーションを安全に実行するため。

保護のために、 ナノプロセスの概念を使用することが提案されていますs、各依存関係モジュールが分離されている 別の分離されたWebAssemblyモジュールで、その権限はこのモジュールにのみバインドするように構成されています(たとえば、文字列を処理するためのライブラリはネットワークソケットまたはファイルを開くことができません)。

プロセス分離とは異なり、 WebAssemblyハンドラーは軽量で、追加のリソースをほとんど必要としません。 さらに、ハンドラー間の相互作用は、通常の関数を呼び出すよりもそれほど遅くはありません。

共同開発のために、以前はアライアンスの創設会社によって個別に開発されたいくつかのWebAssembly関連プロジェクトが、バイトコードアライアンスの翼の下で移管されました。

  • ワスムタイムWASI拡張機能を備えたWebAssemblyアプリケーションを実行するためのランタイム 通常のスタンドアロンアプリとして。 特別なコマンドラインユーティリティを使用したWebAssemblyバイトコードの起動と、すぐに使用できる実行可能ファイルの設計をサポートします(wasmtimeはライブラリとしてアプリケーションに組み込まれています)。
  • ルセット: あります WebAssembly形式でプログラムを実行するためのコンパイラとランタイム。 Lucetの特徴的な機能は、JITの代わりに直接実行に適したマシンコードで完全な予防的コンパイル(AOT、事前)を使用することです。 このプロジェクトはFastlyによって開発され、最小限のリソースを消費し、新しいインスタンスをすばやく起動するように最適化されています。共同プロジェクトの一環として、Wasmtimeをベースとして使用するようにLucetコンパイラを変更する予定です。
  • WAMR(WebAssemblyマイクロランタイム): es WebAssemblyを実行するための別のランタイム。 もともとは、IoTデバイスで使用するためにIntelによって開発されました。 WAMR リソース消費を最小限に抑えるように最適化されており、RAMの量が少ないデバイスで使用できます。 このプロジェクトには、WebAssemblyバイトコードを実行するためのインタープリターと仮想マシン、API(Libcのサブセット)、およびアプリケーションを動的に管理するためのツールが含まれています。
  • クレーンリフト:es ハードウェアに依存しない中間表現をマシンコードに変換するコードジェネレーター 特定のハードウェアプラットフォーム用に最適化された実行可能ファイル。 Craneliftは、非常に高速な出力生成のための関数コンパイル並列化をサポートしており、これを使用してJITコンパイラーを作成できます(CraneliftベースのJITはWasmtime仮想マシンで使用されます)。
  • WASI: A WASIAPIのスタンドアロン実装 (Web Assembly System Interface)オペレーティングシステムとの相互作用を整理します。
  • カーゴワシ: un 貨物パッケージマネージャー用モジュール これは、ブラウザの外部でWebAssemblyを使用するために、WASIインターフェイスを使用してRustコードをWebAssemblyバイトコードにコンパイルするコマンドを実装します。
  • ワットとwasmparser: 息子 テキストを分析するパーサー (WAT、WAST)およびWebAssemblyバイトコードのバイナリ表現。

コメントを残す

あなたのメールアドレスが公開されることはありません。 必須フィールドには付いています *

*

*

  1. データの責任者:AB Internet Networks 2008 SL
  2. データの目的:SPAMの制御、コメント管理。
  3. 正当化:あなたの同意
  4. データの伝達:法的義務がある場合を除き、データが第三者に伝達されることはありません。
  5. データストレージ:Occentus Networks(EU)がホストするデータベース
  6. 権利:いつでも情報を制限、回復、削除できます。

  1.   01101001b

    「プロセス分離とは異なり、WebAssemblyハンドラーは軽量で、追加のリソースをほとんど必要としません」...
    MozillaとRedHatが混在していると、「軽くて追加のリソースをほとんど必要としない」という観察は驚異的なジョークxDになります。