Os desenvolvedores do sistema operacional SerenityOS informaram que o navegador web desenvolvido pelo projeto passou com sucesso nos testes Acid3, que são usados para verificar navegadores web quanto ao suporte a padrões web. É notável que, dentre os novos navegadores abertos criados após a formação do Acid3, o SerenityOS Browser se tornou o primeiro projeto a passar completamente nos testes.

O conjunto de testes Acid3 foi criado em 2008 por Ian Hickson, o iniciador da criação da especificação HTML5 e coautor das especificações CSS. O Acid3 inclui 100 testes, preparados na forma de funções que retornam um resultado positivo ou negativo. Os testes abrangem várias áreas, como ECMAScript, HTML 4.01, DOM Level 2, HTTP/1.1, SVG, XML, entre outros. Em 2011, os testes foram atualizados, mas devido a mudanças nas especificações web modernas, os navegadores atuais Chrome e Firefox passam apenas 97 dos 100 testes do Acid3.
O SerenityOS Browser é escrito em C++ e distribuído sob a licença BSD. O projeto utiliza um mecanismo de navegador próprio chamado LibWeb e um interpretador JavaScript chamado LibJS, ambos implementados em bibliotecas externas. Há suporte para execução de código intermediário WebAssembly. Para o suporte aos protocolos HTTP e HTTPS, estão sendo desenvolvidas as bibliotecas LibHTTP e LibTLS.
Lembrando que o projeto Serenity desenvolve um sistema operacional do tipo Unix para arquiteturas x86 e x86_64, equipado com seu próprio núcleo e uma interface gráfica inspirada nos sistemas operacionais do final dos anos 90. O desenvolvimento é feito desde o zero, por curiosidade e não é baseado em código de sistemas operacionais existentes. Os autores se propuseram a levar o SerenityOS a um nível adequado para uso cotidiano, mantendo a estética dos sistemas dos anos 90, mas complementando-a com ideias úteis para usuários experientes de sistemas modernos.
O núcleo do SerenityOS promete suporte a recursos como multitarefa preemptiva, uso de mecanismos de proteção de hardware (SMEP, SMAP, UMIP, NX, WP, TSD), multithreading, pilha IPv4, sistema de arquivos baseado em Ext2, sinais POSIX, mmap(), arquivos executáveis no formato ELF, sistema de arquivos virtual /proc, soquetes Unix, pseudoterminais e ferramentas de profiling.
O ambiente do usuário é composto por gerenciadores compostos e de console (WindowServer, TTYServer), shell de linha de comando, biblioteca padrão em C (LibC), um conjunto de utilitários de usuário típicos e um ambiente gráfico baseado em sua própria estrutura de GUI (LibGUI, LibGfx, LibGL) e um conjunto de widgets. O conjunto de aplicativos gráficos inclui um cliente de email, um ambiente para design visual de interfaces chamado HackStudio, um editor de texto, um sintetizador de som, um gerenciador de arquivos, vários jogos, uma interface para execução de programas, um editor de fontes, um gerenciador de downloads, um emulador de terminal, configuradores, um visualizador de PDF, um editor gráfico chamado PixelPaint, um reprodutor de música e um editor de planilhas, além de um reprodutor de vídeo.

Fonte: opennet.ru
