Обновлён план перевода Firefox на многопроцессную архитектуру
Напомним, что в Firefox 48 многопроцессный режим был предложен примерно 1% пользователей (затем расширен до 50%), не использующих дополнения и средства для людей с ограниченными возможностями. В Firefox 49 тестирование было расширено на пользователей ограниченного списка дополнений, проверенных на предмет совместимости с многопроцессным режимом. В Firefox 50 многопроцессный режим был включен для систем со всеми проверенными дополнениями. В Firefox 51 вместо белого списка разрешённых дополнений, будет применён чёрный список явно не совместимых дополнений.
Многопроцессный режим позволяет увеличить безопасность, повысить отзывчивость интерфейса, минимизировать подвисания во время сборки мусора и заметно ускорить работу браузера на многоядерных системах за счёт организации параллельного выполнения неблокирующих друг друга операций. По тестам Mozilla на многоядерных системах наблюдается увеличение отзывчивости интерфейса на 400% и ускорение загрузки страниц на 700%. Параллельно разработчики развивают две инициативы по расширению многопроцессного режима:
- В ночных сборках проходит тестирование возможность обработки контента в разных процессах. В отличие от уже применяемого разделения на два процесса - один для обработки содержимого вкладок и один для формирования интерфейса, новая возможность позволяет запустить более одного процесса для обработки контента (число запускаемых процессов для обработки контента задаётся через переменную dom.ipc.processCount в about:config). Подобный подход позволяет обеспечить дополнительную изоляцию обработчиков, повысить надёжность (крах одной вкладки не приведёт к закрытию всех остальных вкладок), повысить эффективность использования ресурсов многоядерных процессоров (разнесение нагрузки на все ядра), уменьшить фрагментацию памяти при длительной работе браузера.
- Реализация sandbox-изоляции, ограничивающей доступ дочерних процессов Firefox к системным вызовам, файловой системе и сторонним процессам. В настоящее время sandbox-изоляция уже применяется на платформе Windows и в одном из следующих релизов будет предложена для macOS и Linux. Для изоляции в Linux применяется ограничение доступа к системным вызовам при помощи Seccomp-bpf, также для изоляции используются PID namespace и chroot в пустую директорию. В Windows применяются разработанные Google библиотеки sandboxbroker и sandboxtarget, используемые в Chromium и Chrome.
Источник: http://www.opennet.ru/opennews/art.shtml?num=45746
|
0 | Tweet | Нравится |
|