Обновлён план перевода Firefox на многопроцессную архитектуру

Четверг, 22 декабря 2016 г.

Следите за нами в ВКонтакте, Телеграм'e и Twitter'e

Разработчики Mozilla опубликовали обновлённый план перевода Firefox на многопроцессную архитектуру с разделением на разные процессы обработчиков контента и интерфейса (все обработчики контента выполняются отдельно от интерфейса, но пока в одном процессе друг с другом). Сообщается, что предварительное внедрение многопроцессного режима для отдельных категорий пользователей прошло успешно и если не возникнет непредвиденных проблем, включение многопроцессного режима для всех пользователей ожидается в выпуске Firefox 51, запланированном на 24 января. Исключение будет сделано только для конфигураций, в которых встречаются дополнения, помеченные как явно несовместимые с многопроцессной архитектурой.

Напомним, что в 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.

Следите за нами в ВКонтакте, Телеграм'e и Twitter'e


Просмотров: 1112
Рубрика: Hi-Tech


Архив новостей / Экспорт новостей

Ещё новости по теме:

RosInvest.Com не несет ответственности за опубликованные материалы и комментарии пользователей. Возрастной цензор 16+.

Ответственность за высказанные, размещённую информацию и оценки, в рамках проекта RosInvest.Com, лежит полностью на лицах опубликовавших эти материалы. Использование материалов, допускается со ссылкой на сайт RosInvest.Com.

Архивы новостей за: 2018, 2017, 2016, 2015, 2014, 2013, 2012, 2011, 2010, 2009, 2008, 2007, 2006, 2005, 2004, 2003