Los desarrolladores del sistema operativo SerenityOS han informado que el navegador web desarrollado por el proyecto ha superado con éxito las pruebas Acid3, que se utilizan para verificar la compatibilidad de los navegadores web con los estándares web. Se destaca que, entre los nuevos navegadores de código abierto creados después de la formación de Acid3, el SerenityOS Browser se ha convertido en el primero en pasar completamente las pruebas del proyecto.

El conjunto de pruebas Acid3 fue creado en 2008 por Ian Hickson, el iniciador de la creación de la especificación HTML5 y coautor de las especificaciones CSS. Acid3 incluye 100 pruebas, presentadas como funciones que devuelven un resultado positivo o negativo del paso de la prueba. Las pruebas cubren diversas áreas, como ECMAScript, HTML 4.01, DOM Level 2, HTTP/1.1, SVG, XML, etc. En 2011, las pruebas fueron actualizadas, pero debido a los cambios en las especificaciones web modernas, los navegadores actuales Chrome y Firefox solo pasan 97 de las 100 pruebas de Acid3.
El SerenityOS Browser está escrito en C++ y se distribuye bajo la licencia BSD. El proyecto utiliza su propio motor de navegador, LibWeb, y un intérprete de JavaScript, LibJS, que se han extraído a bibliotecas externas. También se cuenta con soporte para la ejecución de código intermedio de WebAssembly. Para el soporte de los protocolos HTTP y HTTPS, se están desarrollando las bibliotecas LibHTTP y LibTLS.
Recordemos que el proyecto Serenity desarrolla un sistema operativo similar a Unix para arquitecturas x86 y x86_64, equipado con su propio núcleo y una interfaz gráfica diseñada al estilo de los sistemas operativos de finales de los años 90. El desarrollo se lleva a cabo desde cero, por interés, y no se basa en el código de sistemas operativos existentes. Los autores se han propuesto llevar SerenityOS a un nivel adecuado para el uso cotidiano, manteniendo la estética de los sistemas de finales de los 90, pero complementándola con ideas útiles para los usuarios experimentados de los sistemas modernos.
El núcleo de SerenityOS declara soporte para características como la multitarea por desalojo, el uso de mecanismos de protección de hardware (SMEP, SMAP, UMIP, NX, WP, TSD), multi-threading, un stack IPv4, un sistema de archivos basado en Ext2, señales POSIX, mmap(), archivos ejecutables en formato ELF, sistemas de archivos virtuales /proc, sockets Unix, pseudoterminales, y herramientas de perfilado.
El entorno del usuario está compuesto por administradores de composite y de consola (WindowServer, TTYServer), un intérprete de comandos, la biblioteca estándar de C (LibC), un conjunto de utilidades del usuario y un entorno gráfico basado en un marco GUI propio (LibGUI, LibGfx, LibGL) y un conjunto de widgets. El conjunto de aplicaciones gráficas incluye un cliente de correo, un entorno para el diseño visual de interfaces HackStudio, un editor de texto, un sintetizador de sonido, un gestor de archivos, varios juegos, una interfaz para ejecutar programas, un editor de fuentes, un gestor de descargas, un emulador de terminal, configuradores, un visor de PDF, un editor gráfico PixelPaint, un reproductor de música y un editor de hojas de cálculo, así como un reproductor de video.

Fuente: opennet.ru
