30.06.2022

Развиваемый проектом SerenityOS web-браузер успешно прошёл тесты Acid3

Разработчики операционной системы SerenityOS сообщили, что развиваемый проектом web-браузер успешно прошёл тесты Acid3, применяемые для проверки web-браузеров на предмет поддержки web-стандартов. Отмечается, что SerenityOS Browser стал первым прошедшим тесты проектом, среди новых открытых браузеров, созданных с момента формирования Acid3. Acid3 включает в себя 100 тестов, подготовленных в виде функций, возвращающих положительный или отрицательный результат прохождения теста. Тесты охватывают различные области, такие как ECMAScript, HTML 4.01, DOM Level 2, HTTP/1.1, SVG, XML и т.п.

SerenityOS Browser написан на языке C++ и распространяется под лицензией BSD. В проекте используется собственный браузерный движок LibWeb и JavaScript-интерпретатор LibJS, вынесенные во внешние библиотеки.
Имеется поддержка выполнения промежуточного кода WebAssembly. Для поддержки протоколов HTTP и HTTPS развиваются библиотеки LibHTTP и LibTLS.

Напомним, что в проект Serenity развивает Unix-подобную операционную систему для архитектур x86 и x86_64, оснащённую собственным ядром и графическим интерфейсом, оформленным в стиле операционных систем конца 1990-х годов. Разработка ведётся с нуля, ради интереса и не основана на коде существующих ОС. При этом авторы поставили перед собой цель довести SerenityOS до уровня, пригодного для повседневной работы, сохранив эстетику систем конца 90-х, но дополнив её полезными идеями для опытных пользователей из современных систем.

В ядре SerenityOS заявлена поддержка таких возможностей, как вытесняющая многозадачность, применение аппаратных механизмов защиты (SMEP, SMAP, UMIP, NX, WP, TSD),
многопоточность, IPv4 стек, файловая система на основе Ext2, POSIX-сигналы, mmap(), исполняемые файлы в формате ELF, псевдо-ФС /proc, Unix-сокеты, псевдотерминалы, средства профилирования.

Пользовательское окружение составляют композитный и консольный менеджеры (WindowServer, TTYServer), оболочка командной строки, стандартная Си-библиотека (LibC), набор типовых пользовательских утилит и графическое окружение на базе собственного GUI фреймворка (LibGUI, LibGfx, LibGL) и набора виджетов. В набор графических приложений входят почтовый клиент, среда для визуального проектирования интерфейса HackStudio, текстовый редактор, звуковой cинтезатор, файловый менеджер, несколько игр, интерфейс для запуска программ, редактор шрифтов, менеджер загрузки файлов, эмулятор терминала, конфигураторы, PDF-просмотрщик, графический редактор PixelPaint, музыкальный проигрыватель, редактор электронных таблиц, видеопроигрыватель.

Источник.