Die Entwickler des SerenityOS-Betriebssystems haben bekannt gegeben, dass der im Projekt entwickelte Webbrowser erfolgreich die Acid3-Tests bestanden hat, die zur Überprüfung von Webbrowsern auf die Unterstützung von Webstandards verwendet werden. Es wird angemerkt, dass der SerenityOS-Browser als erster vollständig getesteter Browser der neuen, nach der Einführung von Acid3 entwickelten Open-Source-Browser gilt.

Das Acid3-Testset wurde 2008 von Ian Hickson erstellt, dem Initiator der HTML5-Spezifikation und Mitautor der CSS-Spezifikationen. Acid3 umfasst 100 Tests, die als Funktionen vorbereitet sind, die ein positives oder negatives Ergebnis des Testablaufs zurückgeben. Die Tests decken verschiedene Bereiche wie ECMAScript, HTML 4.01, DOM Level 2, HTTP/1.1, SVG, XML usw. ab. Im Jahr 2011 wurden die Tests aktualisiert, aber aufgrund der Änderungen in den modernen Web-Spezifikationen bestehen die aktuellen Versionen von Chrome und Firefox nur 97 der 100 Acid3-Tests.
Der SerenityOS-Browser ist in C++ geschrieben und wird unter der BSD-Lizenz veröffentlicht. Im Projekt wird die hauseigene Browser-Engine LibWeb sowie der JavaScript-Interpreter LibJS verwendet, die als externe Bibliotheken bereitgestellt werden. Es gibt Unterstützung für die Ausführung von WebAssembly-Bytecode. Für die Protokolle HTTP und HTTPS werden die Bibliotheken LibHTTP und LibTLS entwickelt.
Wir erinnern uns, dass das Projekt Serenity ein Unix-ähnliches Betriebssystem für die Architekturen x86 und x86_64 entwickelt, das über einen eigenen Kernel und eine Benutzeroberfläche verfügt, die im Stil der Betriebssysteme der späten 1990er Jahre gestaltet ist. Die Entwicklung erfolgt von Grund auf aus Interesse und basiert nicht auf dem Code bestehender Systeme. Die Autoren haben sich das Ziel gesetzt, SerenityOS auf ein Niveau zu bringen, das für den täglichen Einsatz geeignet ist, während die Ästhetik der Systeme der späten 90er Jahre erhalten bleibt und gleichzeitig nützliche Ideen moderner Systeme für erfahrene Benutzer integriert werden.
Im Kern von SerenityOS sind Funktionen wie präemptives Multitasking, Nutzung von Hardware-Schutzmechanismen (SMEP, SMAP, UMIP, NX, WP, TSD), Multithreading, IPv4-Stack, ein auf Ext2 basierendes Dateisystem, POSIX-Signale, mmap(), ausführbare ELF-Dateien, Pseudo-Dateisystem /proc, Unix-Sockets, Pseudoterminals und Profilierungstools angekündigt.
Die Benutzerumgebung besteht aus einem Composite- und Konsolen-Manager (WindowServer, TTYServer), einer Kommandozeilen-Shell, der Standard-C-Bibliothek (LibC), einem Set typischer Benutzer-Utilities sowie einer grafischen Umgebung, die auf einem eigenen GUI-Framework (LibGUI, LibGfx, LibGL) und einer Sammlung von Widgets basiert. Zu den grafischen Anwendungen gehören ein E-Mail-Client, eine Umgebung zur visuellen Gestaltung von Schnittstellen (HackStudio), ein Texteditor, ein Sprachsynthesizer, ein Datei-Manager, mehrere Spiele, eine Plattform zum Starten von Programmen, ein Schriftarten-Editor, ein Dateilader-Manager, ein Terminal-Emulator, Konfiguratoren, ein PDF-Viewer, ein grafischer Editor (PixelPaint), ein Musik-Player und ein Tabellenkalkulations-Editor sowie ein Video-Player.

Quelle: opennet.ru
