Gli sviluppatori del sistema operativo SerenityOS hanno annunciato che il browser web in fase di sviluppo ha superato con successo i test Acid3, utilizzati per verificare il supporto degli standard web da parte dei browser. Si sottolinea che tra i nuovi browser open source creati dopo l'implementazione di Acid3, il SerenityOS Browser è stato il primo progetto a superare completamente i test.

Il set di test Acid3 è stato creato nel 2008 da Ian Hickson, promotore della specifica HTML5 e coautore delle specifiche CSS. Acid3 comprende 100 test, organizzati in funzioni che restituiscono un risultato positivo o negativo a seconda del superamento del test. I test coprono vari ambiti, come ECMAScript, HTML 4.01, DOM Level 2, HTTP/1.1, SVG, XML, e altro. Nel 2011, i test sono stati aggiornati, ma a causa dei cambiamenti nelle specifiche web moderne, i browser attuali come Chrome e Firefox superano solo 97 dei 100 test di Acid3.
Il SerenityOS Browser è scritto in C++ ed è distribuito con licenza BSD. Il progetto utilizza un motore di rendering browser proprietario chiamato LibWeb e un interprete JavaScript chiamato LibJS, estratti in librerie esterne. Supporta anche l'esecuzione di codice intermedio in WebAssembly. Per il supporto dei protocolli HTTP e HTTPS, sono in fase di sviluppo le librerie LibHTTP e LibTLS.
Ricordiamo che il progetto Serenity sviluppa un sistema operativo simile a Unix per architetture x86 e x86_64, dotato di un proprio kernel e di un'interfaccia grafica in stile sistemi operativi della fine degli anni '90. Lo sviluppo è avviato da zero, per interesse, e non si basa su codice di sistemi operativi esistenti. Gli autori si sono posti l'obiettivo di portare SerenityOS a un livello utilizzabile per l'uso quotidiano, mantenendo l'estetica dei sistemi della fine degli anni '90, ma integrandola con idee utili per utenti esperti provenienti dai sistemi moderni.
Nel kernel di SerenityOS è dichiarato il supporto per funzionalità come la multitasking preemptive, l'uso di meccanismi di protezione hardware (SMEP, SMAP, UMIP, NX, WP, TSD), la multithreading, lo stack IPv4, un file system basato su Ext2, segnali POSIX, mmap(), file eseguibili nel formato ELF, pseudo-sistemi file /proc, socket Unix, pseudoterminali e strumenti di profilazione.
L'ambiente utente è composto dai gestori compositi e da console (WindowServer, TTYServer), da una shell a linea di comando, dalla libreria standard in C (LibC), da un insieme di utility utente standard e da un ambiente grafico basato sul proprio framework GUI (LibGUI, LibGfx, LibGL) e un set di widget. Il pacchetto di applicazioni grafiche include un client di posta, un ambiente per la progettazione visiva dell'interfaccia HackStudio, un editor di testo, un sintetizzatore audio, un gestore di file, alcuni giochi, un'interfaccia per l'esecuzione di programmi, un editor di font, un gestore di download, un emulatore di terminale, configuratori, un visualizzatore PDF, un editor grafico PixelPaint, un lettore musicale e un editor di fogli di calcolo, oltre a un lettore video.

Fonte: opennet.ru
