Mozilla, Fastly, Intel и Red Hat продвигают WebAssembly как универсальную платформу.

WebAssembly

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

Для создания переносимых программ доставляется в формате WebAssembly который может выполняться вне браузера, предлагается использовать WASI API (Системный интерфейс WebAssembly), который предоставляет программные интерфейсы для прямого взаимодействия с операционной системой (POSIX API для работы с файлами, сокетами и т. Д.).

Отличительная черта модели исполнения приложений, использующих WASЯ запускаю в песочнице для изоляции от основной системы и использования механизма безопасности, основанного на управлении мощностью, для действий с каждым из ресурсов (файлы, каталоги, сокеты, системные вызовы и т. д.) приложение должно иметь соответствующую авторизацию (доступ предоставляется только заявленной функциональности).

Uno целей альянса созданный заключается в решении проблемы распространения современных модульных приложений с множеством зависимостей. В таких приложениях каждая зависимость может быть потенциальным источником уязвимостей или атак. Получение контроля над зависимостями позволяет вам получить контроль над всеми связанными с ним приложениями.

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

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

В отличие от разделения процессов, Обработчики WebAssembly легкие и почти не требуют дополнительных ресурсов. Кроме того, взаимодействие между обработчиками не намного медленнее, чем при вызове обычных функций.

Для совместной разработки несколько связанных с WebAssembly проектов, ранее разработанных отдельно компаниями-учредителями альянса, были переданы под крыло Bytecode Alliance:

  • Васмтайм: un среда выполнения для запуска приложений WebAssembly с расширениями WASI как обычные автономные приложения. Он поддерживает запуск байт-кода WebAssembly с помощью специальной утилиты командной строки и создание готовых исполняемых файлов (wasmtime встроен в приложение в виде библиотеки).
  • Люсет: является компилятор и среда выполнения для запуска программ в формате WebAssembly. Отличительной особенностью Lucet является использование полной превентивной компиляции (AOT, upfront) на машинном коде, подходящем для прямого выполнения, вместо JIT. Проект был разработан Fastly и оптимизирован для использования минимальных ресурсов и быстрого запуска новых экземпляров.В рамках совместного проекта планируется изменить компилятор Lucet на использование Wasmtime в качестве основы.
  • WAMR (среда выполнения WebAssembly Micro): es другая среда выполнения для запуска WebAssembly, изначально разработан Intel для использования в устройствах Интернета вещей. WAMR он оптимизирован для минимального потребления ресурсов и может использоваться на устройствах с небольшим объемом оперативной памяти. Проект включает интерпретатор и виртуальную машину для запуска байт-кода WebAssembly, API (подмножество Libc) и инструменты для динамического управления приложениями.
  • Кран-подъемник: Есть генератор кода, который переводит аппаратно-независимое промежуточное представление в машинный код исполняемый файл, оптимизированный для конкретных аппаратных платформ. Cranelift поддерживает распараллеливание компиляции функций для очень быстрой генерации вывода, что позволяет использовать его для создания JIT-компиляторов (JIT на основе Cranelift используется в виртуальной машине Wasmtime).
  • БЫЛ ЛИ Я: уна автономная реализация WASI API (Web Assembly 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

bool (истина)