WASIATKAN projek Mozilla untuk menggunakan WebAss Assembly di luar penyemak imbas

WASIATKAN projek Mozilla untuk menggunakan WebAss Assembly di luar penyemak imbas

Pembangun Mozilla membentangkan projek WASI (WebAssembly System Interface), yang sedang berusaha untuk menentukan antara muka perisian yang dapat digunakan untuk mengatur interaksi aplikasi yang disampaikan dalam format WebAssembly dengan sistem operasi.

Matlamat projek ini adalah untuk menyediakan API yang memperluas penggunaan WebAssembly dan membolehkan anda membuat program berdasarkan biasa Dalam teknologi ini yang berjalan di luar penyemak imbasMereka mudah dibawa ke platform mana pun dan menunjukkan tahap keselamatan yang tinggi.

Apa itu WASI?

WASI membenarkan persekitaran WebAssembly mengakses fungsi yang disediakan oleh sistem operasiseperti fail, sistem fail, soket rangkaian, pemasa, dan penjana nombor rawak.

API WASI pada mulanya dibangunkan sebagai tanpa penyemak imbas dan berdiri sendiri dari JavaScript / Web API, tetapi pada masa yang sama memberikan tahap pengasingan sistem yang mencukupi main (aplikasi dijalankan di kotak pasir) dan membolehkan anda secara jelas menentukan kewibawaan yang diberikan kepada aplikasi dalam gaya CloudABI dan Capsicum.

ADAKAH SAYA menggunakan model keselamatan berdasarkan pengurusan kebenaran, di mana program hanya dapat dengan sengaja melakukan tindakan yang dibenarkan.

Sama seperti bagaimana WebAssembly menghadkan akses pada tahap fungsi import, WASI mengawal akses ke kemampuan sistem.

Fail, direktori, soket, dan sumber lain dihubungkan dengan jenis deskriptor fail khas (kapasitas), dan aplikasi harus memiliki izin untuk melakukan tindakan pada setiap sumber.

Kebenaran diuruskan secara hierarki, yaitu, akses ke direktori dibuka secara automatik dan akses ke semua file di dalamnya.

Sejak itu WebAssembly adalah versi bahasa pemasangan bebas platform, penggunaan JIT dapat mencapai tahap prestasi yang hampir dengan kod asli, sambil mengekalkan kemampuan untuk berjalan di pelbagai platform perkakasan dan sistem operasi.

Pada masa ini projek ini menyediakan modul inti-wasi dengan pelaksanaan API POSIX asas (fail, soket, dll.), Yang pada masa ini kekurangan sokongan untuk kunci dan I / O asinkron

Pada masa akan datang, ia dirancang untuk membuat modul dengan pelaksanaan API untuk melakukan operasi kriptografi, bekerja dengan grafik 3D, berinteraksi dengan sensor, operasi dengan proses (panggilan fork belum disokong) dan memproses data multimedia.

Prototaip komponen

Wasmtime adalah runtime yang bertanggungjawab untuk menjalankan aplikasi berdasarkan WebAssembly dengan sambungan WASI sebagai aplikasi mandiri biasa.

Se menyokong pelancaran bytecode WebAssembly dengan bantuan utiliti baris arahan khas dan reka bentuk fail yang boleh dilaksanakan yang boleh digunakan (waktu was-was dimasukkan ke dalam aplikasi sebagai perpustakaan).

Untuk mencapai tahap prestasi yang sesuai, digunakan penyusun JIT berdasarkan penjana kod ketinggian.

Lucet adalah versi runtime lain dari projek Fastly (kodnya dijadualkan untuk diterbitkan hari ini atau esok).

WASI SDK- Alat untuk menyusun aplikasi C / C ++ dalam format pemasangan web menggunakan Clang 8.0.

Sasaran pemasangan dengan sokongan WASI untuk bahasa Rust, yang membolehkan anda menyusun kod Rust ke dalam WebAssembly.

Wasi-sysroot adalah pelaksanaan perpustakaan libc standard untuk WASI, berdasarkan kod Musl, serta lapisan runtime untuk menerjemahkan fungsi yang disediakan oleh perpustakaan ke dalam panggilan sistem dari pelbagai sistem operasi untuk mencapai kemungkinan menjalankan aplikasi WASI pada sistem operasi yang berbeda.

Projek ini juga sedang mengembangkan perpustakaan JavaScript polyfill dengan pelaksanaan WASI untuk menjalankan aplikasi dalam penyemak imbas., yang membolehkan model kawalan akses "kemampuan" diterapkan pada kod yang dijalankan di penyemak imbas.

Dari rancangan tersebut, disebutkan mengenai pembuatan sistem modul berasaskan WASI untuk penyatuan ke dalam aplikasi pemalam terpencil dengan fungsi tambahan yang disediakan dalam format WebAssembly.

Salah satu tugas utama WebAssembly adalah untuk memastikan kebolehmampuan, ramalan tingkah laku, dan identiti pelaksanaan kod pada platform yang berbeza.


Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.