![]() | Работа по интеграции языка Python в web-браузеры | |
Интернет | ||
Главная цель разработки состоит в обеспечении работы немодифицированной сборки CPython для выполнения в изолированном окружении Native Client. Безопасность в Native Client достигается через изоляцию ... |

Главная цель разработки состоит в обеспечении работы немодифицированной сборки CPython для выполнения в изолированном окружении Native Client. Безопасность в Native Client достигается через изоляцию системных вызовов и прерываний - разрешено выполнение 46 системных вызовов, остальное либо запрещено, либо эмулируется специальным runtime кодом. Сетевые и дисковые функции, а также операции для работы с памятью, обрабатываются специальной подсистемой. Обращение за пределы дозволенных областей памяти блокируются через задействования системы обработки исключений CPU.s
Текущее состояние разработки позволяет импортировать в Native Client окружение все модули из стандартной библиотеки Python, а также ряд дополнительных модулей, таких как SQLite. При этом модули и SQLite пересобираются для работы в браузере из стандартных пакетов Debian, без дополнительной модификации исходных текстов. Для достижения возможности работы с немодифицированными Python модулями, код Native Client был расширен поддержкой динамического связывания. Следующим шагом разработки будет реализация возможности доступа из Python скриптов к DOM модели документов в браузере.