Браузеры Google Chrome и Internet Exploprer уже давно используют мультипроцессную архитектуру для улучшения безопасности и стабильности. Они разделяют задачи по рендерингу и парсингу веб-страниц от задач по созданию новых соединений, сохранению файлов, прорисовке и так далее. Это дает им возможность успешно обрабатывать весь потенциально опасный веб-код в “песочнице”, где используются пониженные привилегии и заблокирован доступу к операционной системе компьютера. Об этом сообщают эксперты раздела "Hi-tech" издания для инвесторов "Биржевой лидер".
Также это значит, что браузеры в значительной степени более устойчивы к различным системным сбоям: баг в коде страницы, который рушит страницу только в одной вкладке, никак не влияет на работу операционной системы и всего браузера.
Работа ведется долгие годы.
В 2009 году компания Mozilla анонсировала свой проект под названием Electrolysis, целью которого было внедрение такой же архитектуры в Firefox. Теперь же за окном заканчивается 2013 год, а браузер Firefox все еще не является мультипроцессным, что фундаментально делает его уязвимым не столь адаптированным под многоядерные процессоры. Firefox имеет ограниченную поддержку мультипроцессности – плагины работают только в рамках своих процессов, но остальное выполняется только в рамках одного процесса, имеющего полнофункциональные привилегии.
Фактически проект Electrolysis заморозили еще два года назад и только в январе текущего года Mozilla сообщила о восстановлении работы над мультипроцессорной версией браузера Firefox. Несколько дней назад разработчики выпустили ночную сборку Firefox, имеющую «нормальную» мультипроцессность. Однако сегодня она все еще сильно ограничена, по сравнению с Internet Explorer или Chrome.
В Mozilla заявили, что перед компанией все еще предстоит очень большая работа в этом направлении. На данный момент несколько базовых функций могут работать в разных процессах, а другие пока нет. Например, не работают инструменты для разработчиков. В компании рассказывают, что им необходимо переработать процессы для плагинов, а также четко определить то, каким образом они работают с веб-содержимым.
Кроме того, разработчикам нужно будет создать в браузере систему сигнальной синхронизации процессов для того, чтобы процессы не создавали гигантских очередей в работе.
Напомним, создан смартфон, который работает на Android и Firefox OS одновременно.