Mozilla, Fastly, Intel dan Red Hat mempromosikan WebAssembly sebagai platform universal

WebAssembly

Mozilla, Fastly, Intel, dan Red Hat telah bekerja sama berkembang teknologi yang membuat WebAssembly platform universal untuk menjalankan kode dengan aman di infrastruktur apa pun, sistem operasi, dan perangkat. Untuk pengembangan bersama runtime dan compiler, yang memungkinkan penggunaan WebAssembly tidak hanya di browser web, komunitas Bytecode Alliance telah dibentuk.

Untuk membuat program portabel dikirimkan dalam format WebAssembly yang dapat dijalankan di luar browser, disarankan untuk menggunakan WASI API (Antarmuka sistem WebAssembly), yang menyediakan antarmuka program untuk interaksi langsung dengan sistem operasi (API POSIX untuk bekerja dengan file, soket, dll.).

Sebuah ciri khas dari model eksekusi aplikasi yang menggunakan WSSaya meluncurkan di lingkungan kotak pasir untuk mengisolasi dari sistem utama dan menggunakan mekanisme keamanan berdasarkan manajemen kapasitas, untuk tindakan dengan masing-masing sumber daya (file, direktori, soket, panggilan sistem, dll.) aplikasi harus memiliki otorisasi yang sesuai (akses hanya disediakan untuk dideklarasikan Kegunaan).

Sebuah tujuan aliansi dibuat adalah untuk memecahkan masalah penyebaran aplikasi modular modern dengan banyak ketergantungan. Dalam aplikasi semacam itu, setiap ketergantungan dapat menjadi sumber potensi kerentanan atau serangan. Mendapatkan Kontrol Ketergantungan memungkinkan Anda untuk mendapatkan kendali atas semua aplikasi yang terkait dengannya.

Anggota Bytecode Alliance bermaksud untuk menyiapkan solusi lengkap untuk eksekusi aman aplikasi WebAssembly yang awalnya tidak tepercaya.

Untuk perlindungan, diusulkan untuk menggunakan konsep proses nanos, di mana setiap modul ketergantungan dipisahkan dalam modul WebAssembly terpisah yang terpisah, yang otoritasnya dikonfigurasi untuk mengikat hanya ke modul ini (misalnya, pustaka untuk memproses string tidak dapat membuka soket atau file jaringan).

Tidak seperti pemisahan proses, Penangan WebAssembly ringan dan hampir tidak memerlukan sumber daya tambahan Selain itu, interaksi antara penangan tidak jauh lebih lambat daripada memanggil fungsi biasa.

Untuk pengembangan bersama, beberapa proyek terkait WebAssembly, yang sebelumnya dikembangkan secara terpisah oleh perusahaan pendiri aliansi, ditransfer di bawah naungan Bytecode Alliance:

  • waktu istirahat: A runtime untuk menjalankan aplikasi WebAssembly dengan ekstensi WASI sebagai aplikasi mandiri biasa. Ini mendukung peluncuran bytecode WebAssembly menggunakan utilitas baris perintah khusus dan merancang file yang dapat dieksekusi di luar kotak (wasmtime dibangun ke dalam aplikasi sebagai perpustakaan).
  • Lucette: adalah kompiler dan runtime untuk menjalankan program dalam format WebAssembly. Ciri khas Lucet adalah penggunaan kompilasi pencegahan penuh (AOT, dimuka) pada kode mesin yang cocok untuk eksekusi langsung, bukan JIT. Proyek ini dikembangkan oleh Fastly dan dioptimalkan untuk menggunakan sumber daya minimal dan dengan cepat meluncurkan instance baru. Sebagai bagian dari proyek bersama, direncanakan untuk mengubah kompiler Lucet untuk menggunakan Wasmtime sebagai basis.
  • WAMR (Waktu Kerja Mikro Rakitan Web): es runtime lain untuk menjalankan WebAssembly, awalnya dikembangkan oleh Intel untuk digunakan di perangkat IoT. WAMR itu dioptimalkan untuk konsumsi sumber daya minimal dan dapat digunakan pada perangkat dengan sedikit RAM. Proyek ini mencakup penerjemah dan mesin virtual untuk menjalankan bytecode WebAssembly, API (bagian dari Libc), dan alat untuk mengelola aplikasi secara dinamis.
  • Pengangkatan derek: es generator kode yang menerjemahkan representasi perantara yang tidak bergantung pada perangkat keras menjadi kode mesin dapat dieksekusi dioptimalkan untuk platform perangkat keras tertentu. Cranelift mendukung paralelisasi kompilasi fungsi untuk menghasilkan output yang sangat cepat, memungkinkan Anda menggunakannya untuk membuat kompiler JIT (JIT berbasis Cranelift digunakan di mesin virtual Wasmtime).
  • WS: sebuah implementasi mandiri dari WASI API (Antarmuka Sistem Perakitan Web) untuk mengatur interaksi dengan sistem operasi.
  • kargo-wasi: un modul untuk manajer paket kargo yang mengimplementasikan perintah untuk mengompilasi kode Rust ke dalam bytecode WebAssembly menggunakan antarmuka WASI untuk menggunakan WebAssembly di luar browser.
  • wat dan wasmparser: putra pengurai untuk menganalisis teks (WAT, WAST) dan representasi biner dari kode byte WebAssembly.

tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Bertanggung jawab atas data: AB Internet Networks 2008 SL
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.

  1.   01101001b dijo

    "Tidak seperti pemisahan proses, penangan WebAssembly ringan dan hampir tidak memerlukan sumber daya tambahan" ...
    Dengan Mozilla dan Red Hat dalam campuran, pengamatan "ringan dan hampir tidak membutuhkan sumber daya tambahan" akan menjadi lelucon fenomenal xD