Zum Hauptinhalt Zur Navigation

Multi-Prozess-Architektur: Electrolysis soll Firefox schneller und sicherer machen

Mozilla arbeitet im Rahmen des Projekts Electrolysis daran, Firefox in mehrere Prozesse aufzuspalten. Der Browser soll dadurch schneller und sicherer werden, seltener abstürzen, Multi-Core-Prozessoren besser ausnutzen und weniger Speicher verschwenden.
/ Jens Ihlenfeld
48 Kommentare News folgen (öffnet im neuen Fenster)
Chris Blizzard erläutert die Ziele von Electrolysis. (Bild: Mozilla)
Chris Blizzard erläutert die Ziele von Electrolysis. Bild: Mozilla

Erste Ergebnisse des Projekts Electrolysis sind bereits in stabile Firefox-Versionen eingeflossen. So führt Firefox seit der Version 3.6.4 Plugins wie Flash in einem eigenen Prozess aus, so dass bei Abstürzen des Plugins nicht der ganze Browser abstürzt. In der Android-Version von Firefox sorgt Electrolysis dafür, dass das Browserinterface, das bei Firefox ebenfalls von der Browserengine gerendert wird, in einem eigenen Prozess abläuft. Dadurch kann Firefox 4 für Android schneller auf Nutzereingaben reagieren, während Seiten geladen oder komplexe Javascript-Funktionen ausgeführt werden.

Mozilla will mit Electrolysis(öffnet im neuen Fenster) aber mehr erreichen, wie der für Mozillas Webplattform verantwortliche Chris Blizzard in einem ausführlichen Blogeintrag erklärt(öffnet im neuen Fenster) .

So will Mozilla mit der Multi-Prozess-Architektur die Geschwindigkeit von Firefox weiter steigern, nicht im Hinblick auf die Ausführung von Javascript, sondern hinsichtlich des Userinterface. Firefox soll in Zukunft innerhalb von 50 ms auf Nutzereingaben reagieren, so dass Nutzer keine Verzögerung wahrnehmen. Zudem soll der Browser nicht länger ins Stocken geraten, wenn gerade eine Garbage Collection durchgeführt wird. Um diese Fortschritte zu messen, arbeitet Mozilla an einem entsprechenden Messwerkzeug(öffnet im neuen Fenster) .

Zudem soll die neue Architektur helfen, die mittlerweile weit verbreiteten Multi-Core-Prozessoren besser auszunutzen. Sämtliche Zugriffe auf das DOM laufen in einem einzelnen Thread ab, so dass eine Trennung der einzelnen Tabs in eigene Prozesse es erlaubt, diese auf unterschiedliche CPU-Kerne zu verteilen.

Der Speicherbedarf des Browsers wird mit der Umstellung auf viele Prozesse zwar steigen, doch ist es damit einfacher, eine Verschwendung von Speicher und Leaks in den Griff zu bekommen. Denn wird ein Prozess beendet, kann der von ihm reservierte Speicher leicht wieder freigegeben werden.

Darüber hinaus soll die Aufteilung in einen Prozess pro Website zu weniger Abstürzen des Browsers führen. Derzeit liege die Zahl mit ein bis zwei Abstürzen pro 100 Nutzer am Tag zwar niedrig, so Blizzard, mit der Aufspaltung in mehrere Prozesse werde aber sichergestellt, dass Probleme mit einer Website keine Auswirkungen auf andere Websites haben. Zudem sei es dann einfacher, den Problemen auf die Spur zu kommen.

Zu guter Letzt soll die Architektur für mehr Sicherheit sorgen. Wenn es vom Betriebssystem unterstützt wird, können einzelne Prozesse mit verminderten Rechten ausgeführt werden, denen der Zugriff auf wichtige Systemressourcen verwehrt ist. Sollte es dann zu einem Sicherheitsproblem in diesem Prozess kommen, kann der Schaden so zumindest eingedämmt werden.


Relevante Themen