Компания Google сообщила об интеграции в Native Client SDK поддержки платформы ARM

Компания Google сообщила об успехах в создании многоплатформенного варианта технологии Native Client (NaCl), которая позволяет выполнять приложения, написанные на C и С++, в специальном изолированном окружении web-браузера. В тестовый выпуск Native Client SDK 25 добавлен набор инструментов и компиляторов, необходимых для сборки NaCl-приложений для платформ ARM, в дополнение к ранее поддерживаемой архитектуре x86.

Для сборки для ARM для приложений, уже собираемых с использованием Native Client и newlib, достаточно прикрепить к приложению ARM .nexe и внести изменения в сборочный манифест. Что касается клиентского ПК, то изначально Native Client был интегрирован в Chrome начиная с выпуска 10 (по умолчанию с 14) и дополнительно поставлялся в виде браузерного плагина для Firefox, Safari и Opera. Начиная с версии Chrome 25 в браузер будет добавлена обновлённая реализация системы плагинов Pepper, поддерживающая выполнение NaCl-программ на платформе ARM.

Кроме того, в течение 2013 года планируется выпустить Native Client нового поколения, который будет поставляться под именем Portable Native Client и будет обеспечивать полную независимость от архитектуры, на которой будет производиться запуск NaCl-приложений. Благодаря преобразованию приложений не в машинный код, а в биткод LLVM, появится возможность выполнять NaCl-приложение на разных платформах, без подготовки отдельных сборок для каждой из платформ (биткод LLVM будет транслироваться в машинный код текущей платформы на стороне браузера).

Native Client продвигается как платформа для создания универсальных web-приложений, написанных на языке C/C++ и использующих специальный API для выполнения свойственных web-приложениям действий. SDK базируется на GCC и стандартных инструментах разработки GNU. Собранные с использованием Native Client приложения выполняются в виртуальном окружении внутри браузера всего на 3% медленнее по сравнению с производительностью работы немодифицированных версий тех же программ. С точки зрения разработчика окружение Native Client выглядит как небольшая операционная система со своим, основанным на GCC, инструментарием для кросс-компиляции, частичной поддержкой POSIX и базовым мультимедийным API, который можно использовать для работы с аудио и видео, обрабатываться события от мыши и клавиатуры.

Также доступен ряд свойственных web-приложениям функций, таких как загрузка внешней страницы. В этом плане Native Client позволяет организовать выполнение тех же функций, что может обычное web-приложение на JavaScript. Инструкции при работе программы в Native Client не преобразуются в байткод виртуальной машины, а выполняются как есть, с максимально возможной производительностью. Безопасность в Native Client достигается через изоляцию системных вызовов и прерываний - разрешено выполнение ограниченного набора системных вызовов, остальное либо запрещено, либо эмулируется специальным runtime-кодом. Сетевые и дисковые функции, а также операции для работы с памятью, обрабатываются специальной подсистемой. Обращение за пределы дозволенных областей памяти блокируются через задействования системы обработки исключений CPU.

Источник:
http://www.opennet.ru/opennews/art.shtml?num=35907

<= Назад
Комментарии
]]> ipv6 ready Kiev LUGLinux4MeНостальгияЛичный сайт skeletora ]]>