Login
Newsletter
Werbung

Mi, 26. Februar 2014, 14:23

Software::Desktop

Mozilla arbeitet weiter an neuer Browser-Engine Servo

Eine neue Browser-Engine namens Servo ist bei Mozilla und Samsung seit mehr als eineinhalb Jahren in Entwicklung. Sie soll zumindest auf Mobilgeräten Gecko ablösen, ist allerdings sicher noch ein Jahr von der Fertigstellung entfernt.

Architektur von Servo

Mozilla

Architektur von Servo

Schon vor eineinhalb Jahren gab es erste Informationen zu der neuen Rendering-Engine namens Servo, an der Mozilla arbeitet. Jetzt hat ZDNet eine längere Übersicht über Servo publiziert, die zum Teil auf einem Vortrag des Mozilla-Plattformentwicklers Josh Matthews auf der FOSDEM 2014 beruht.

Demnach arbeiten bei Mozilla fünf Personen, ein weiteres Team bei Samsung und interessierte unabhängige Entwickler an Servo. Das Engagement von Samsung dürfte daher rühren, dass Servo durch sein grundlegend neues Design besonders große Verbesserungen auf Mobilgeräten bringen wird. Ein Einsatz in Firefox auf dem Desktop ist später nicht ausgeschlossen. Mozilla startete Servo, anstelle beispielsweise WebKit einzusetzen, weil letzteres technisch extrem schwierig und vielleicht nicht einmal ein Vorteil gewesen wäre. Gecko selbst weiterzuentwickeln, um die Ziele von Servo zu erreichen, wäre dagegen an den Grenzen gescheitert, die das Design von Gecko setzt.

Servo wird in Rust implementiert, einer neuen Programmiersprache, die ebenfalls von Mozilla entwickelt wird. Einige Beobachter halten sie für wesentlich besser als C++, das bei Gecko genutzt wird. So macht es Rust einfach, parallele Tasks zu definieren, und diese sind voneinander isoliert und kommunizieren über Nachrichten, müssen somit keinen gemeinsam genutzten Speicher haben. Servo ist der erste große Prüfstein für Rust und wird auch dazu genutzt, Rust anzupassen und zu erweitern, bis es die offizielle Version 1.0 erreicht.

Die wichtigsten Ziele von Servo sind Geschwindigkeit durch Parallelität und Sicherheit. Heutige Engines nutzen Parallelität nur eingeschränkt, da sie in Zeiten entstanden sind, in denen Prozessoren nur einen Kern und viel niedrigere Taktfrequenzen besaßen und mit wenig RAM auskommen mussten. Servo dagegen will das Parsen von HTML, Berechnen des Layouts, Ausführen von JavaScript und Zeichnen so weit wie möglich parallelisieren. Dabei wird auf eine Vielzahl von Techniken zurückgegriffen, unter anderem Pipelines, Identifikation von HTML-Elementen, die unabhängig von anderen und damit gleichzeitig gerendert werden können, und paralleles Rendern von iframes. Darüber hinaus werden auch die verschiedenen Tabs in separaten Tasks und damit bei Bedarf parallel bearbeitet. Da mehrere Prozessoren unter Teillast weniger Energie benötigen als einer unter Volllast, soll Servo auch die Akkus von Mobilgeräten schonen.

Ein großes Thema ist die Sicherheit, und Servo soll auch hier neue Maßstäbe setzen. Ein Großteil der Vorteile ergibt sich bereits aus dem Einsatz von Rust als Programmiersprache. Rust leidet nicht an einem unsicheren Speichermodell wie C++, das für den größten Teil der Sicherheitsprobleme verantwortlich ist. Tasks in Rust sorgen für die Isolation von Prozessen. Wo noch C-Code verwendet werden muss, um die Geschwindigkeit zu maximieren, kann dieser in einer Sandbox laufen.

Servo ist noch weit von der Fertigstellung entfernt, soll aber gegen Ende des Jahres größtenteils benutzbar sein. Interessierte sind eingeladen, sich über die Projektseite auf Github zu beteiligen.

Werbung
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung