Mozilla, Fastly, Intel и Red Hat популяризират WebAssembly като универсална платформа

WebAssembly

Mozilla, Fastly, Intel и Red Hat се обединиха развият технологии, които правят WebAssembly универсална платформа за безопасно изпълнение на код на която и да е инфраструктура, операционна система и устройство. За съвместното разработване на средата на изпълнение и компилаторите, което позволява използването на WebAssembly не само в уеб браузърите, е създадена общността на Bytecode Alliance.

За създаване на преносими програми доставени във формат WebAssembly които могат да бъдат изпълнени извън браузъра, се предлага да се използва WASI API (WebAssembly системен интерфейс), който осигурява програмни интерфейси за директно взаимодействие с операционната система (POSIX API за работа с файлове, сокети и др.).

Отличителна черта на модела за изпълнение на приложения, които използват WASСтартирам в среда на пясъчник за да се изолира от основната система и използването на механизъм за сигурност, базиран на управление на капацитета, за действия с всеки от ресурсите (файлове, директории, сокети, системни повиквания и т.н.) приложението трябва да има съответното разрешение (достъпът е предоставен само към декларирана функционалност).

A на целите на алианса създаден е да се реши проблемът с дифузията на съвременните модулни приложения с много зависимости. В такива приложения всяка зависимост може да бъде потенциален източник на уязвимости или атаки. Получаването на контрол на зависимостта ви позволява да получите контрол над всички приложения, свързани с него.

Членовете на Bytecode Alliance възнамеряват да подготвят цялостно решение за безопасното изпълнение на WebAssembly приложения, които първоначално не са надеждни.

За защита, предлага се да се използва концепцията за нанопроцесs, при които всеки модул на зависимостта е отделен в отделен изолиран модул WebAssembly, чийто орган е конфигуриран да се свързва само с този модул (например библиотека за обработка на низове не може да отвори мрежов сокет или файл).

За разлика от разделянето на процеса, Манипулаторите на WebAssembly са леки и не изискват почти никакви допълнителни ресурси Освен това взаимодействието между манипулаторите не е много по-бавно от извикването на обикновени функции.

За съвместна разработка няколко проекта, свързани с WebAssembly, разработени преди това отделно от компаниите-основатели на алианса, бяха прехвърлени под крилото на Bytecode Alliance:

  • wasmtime: A време за изпълнение на приложения на WebAssembly с разширения WASI като обикновени самостоятелни приложения. Той поддържа стартиране на байткода на WebAssembly с помощта на специална помощна програма за команден ред и проектиране на изпълними файлове, които са готови (wasmtime е вграден в приложението като библиотека).
  • Лучет: е компилатор и време за изпълнение за изпълнение на програми във формат WebAssembly. Отличителна черта на Lucet е използването на пълна превантивна компилация (AOT, предварително) върху машинен код, подходящ за директно изпълнение вместо JIT. Проектът е разработен от Fastly и оптимизиран за консумация на минимални ресурси и бързо стартиране на нови екземпляри.Като част от съвместен проект се планира да се промени компилаторът на Lucet, за да се използва Wasmtime като база.
  • WAMR (Web Assembly Micro Runtime): es друго време за изпълнение на WebAssembly, първоначално разработена от Intel за използване в IoT устройства. WAMR той е оптимизиран за минимално потребление на ресурси и може да се използва на устройства с малко количество RAM. Проектът включва интерпретатор и виртуална машина за стартиране на байт код WebAssembly, API (подмножество на Libc) и инструменти за динамично управление на приложения.
  • Кранлифт: es генератор на код, който преобразува хардуерно независимо междинно представяне в машинен код изпълним файл, оптимизиран за конкретни хардуерни платформи. Cranelift поддържа паралелизиране на компилация на функции за много бързо генериране на изход, което ви позволява да го използвате за създаване на JIT компилатори (базиран на Cranelift JIT се използва във виртуална машина Wasmtime).
  • БЯХ ЛИ: Una самостоятелна реализация на WASI API (Web System System Interface) за организиране на взаимодействие с операционната система.
  • товарен васи: un модул за мениджър на товарен пакет който изпълнява команда за компилиране на Rust код в байт код WebAssembly с помощта на интерфейса WASI за използване на WebAssembly извън браузъра.
  • wat и wasmparser: негов парсери за анализ на текст (WAT, WAST) и двоични представяния на байтовия код WebAssembly.

Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорник за данните: AB Internet Networks 2008 SL
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.

  1.   01101001b каза той

    „За разлика от разделянето на процесите, обработчиците на WebAssembly са леки и не изискват почти никакви допълнителни ресурси“ ...
    С Mozilla и Red Hat в комбинацията, това наблюдение на „светлината и не изисква почти никакви допълнителни ресурси“ ще бъде феноменална шега xD