Марк Сиборн (Mark Seaborn) сообщил о первых результатах работы по интеграции классического Python интерпретатора CPython в web-браузеры, путем использования технологии Google Native Client, позволяющей выполнять в окне web-браузера обычные бинарные приложения. Плагин Native Client поддерживает браузеры Firefox, Safari, Opera и Google Chrome на платформах Linux, Mac OS X и Windows.
Главная цель разработки состоит в обеспечении работы немодифицированной сборки CPython для выполнения в изолированном окружении Native Client. Безопасность в Native Client достигается через изоляцию системных вызовов и прерываний - разрешено выполнение 46 системных вызовов, остальное либо запрещено, либо эмулируется специальным runtime кодом. Сетевые и дисковые функции, а также операции для работы с памятью, обрабатываются специальной подсистемой. Обращение за пределы дозволенных областей памяти блокируются через задействования системы обработки исключений CPU.
Текущее состояние разработки позволяет импортировать в Native Client окружение все модули из стандартной библиотеки Python, а также ряд дополнительных модулей, таких как SQLite. При этом модули и SQLite пересобираются для работы в браузере из стандартных пакетов Debian, без дополнительной модификации исходных текстов. Для достижения возможности работы с немодифицированными Python модулями, код Native Client был расширен поддержкой динамического связывания. Следующим шагом разработки будет реализация возможности доступа из Python скриптов к DOM модели документов в браузере.
http://www.opennet.ru/opennews/art.shtml?num=22202 (//\"http://www.opennet.ru/opennews/art.shtml?num=22202\")