Разработчики Google представили открытый проект Native Client, позволяющий выполнять в окне web-браузера обычные бинарные приложения. Программа состоит из универсального плагина к браузеру и модифицированного компилятора на основе GCC. Плагин поддерживает браузеры Firefox, Safari, Opera и Google Chrome на платформах Linux, Mac OS X и Windows. В скором времени будет доступна версия для архитектур ARM и PPC. Исходные тексты разработки распространяются в рамках лицензии BSD.
Скомпилированная для выполнения в плагине программа работает в специальном изолированном окружении. Безопасность системы достигается через изоляцию системных вызовов и прерываний - разрешено выполнение 46 системных вызовов, остальное либо запрещено, либо эмулируется специальным runtime кодом. Сетевые и дисковые функции, а также операции для работы с памятью, обрабатываются специальной подсистемой. Обращение за пределы доздоленных областей памяти блокируются через задействования системы обработки исключений CPU.
В качестве демонстрации возможностей Native Client была представлена сборка игры Quake, работающая в окне браузера.
Комментариев нет:
Отправить комментарий