В рамках проекта Serenity группой энтузиастов ведётся разработка Unix-подобной операционной системы для архитектуры x86, оснащённой собственным ядром и графическим интерфейсом, оформленным в стиле операционных систем конца 1990-х годов. Разработка ведётся с нуля, ради интереса и не основана на коде существующих ОС. При этом авторы поставили перед собой цель довести SerenityOS до уровня, пригодного для повседневной работы, сохранив эстетику систем конца 90-х, но дополнив её полезными идеями для опытных пользователей из современных систем. Код написан на языке С++ и поставляется под лицензией BSD.
Проект является хорошим примером того, что поставив перед собой определённую цель и день за днём понемногу двигаясь вперёд в качестве хобби можно создать вполне работоспособную ОС и привлечь к участию единомышленников. Из других проектов того же автора можно отметить computron, разрабатываемый с 2003 года эмулятор ПК с процессором i386.
Доступные на текущем этапе развития возможности:
- Вытесняющая многозадачность;
- Многопоточность;
- Композитный и оконный сервер WindowServer;
- Собственный фреймворк для разработки графических приложений LibGUI с набором виджетов;
- Среда для визуального проектирования интерфейса приложений;
- Сетевой стек с поддержкой ARP, TCP, UDP и ICMP. Собственный DNS-резолвер;
- Файловая система на основе Ext2 (собственная реализация на C++);
- Unix-подобная стандартная Си-библиотека (LibC) и набор типовых пользовательских утилит (cat, cp, chmod, env, kill, ps, ping, su, sort, strace, uptime и т.п.);
- Оболочка командной строки с поддержкой потоков (pipe) и перенаправления ввода/вывода;
- Поддержка mmap() и исполняемых файлов в формате ELF;
- Наличие псевдо-ФС /proc;
- Поддержка локальных Unix-сокетов;
- Поддержка псевдотерминалов и /dev/pts;
- Библиотека LibCore для разработки эффективных обработчиков событий (Event loop);
- Поддержка библиотеки SDL;
- Поддержка изображений в формате PNG;
- Набор встроенных приложений: текстовый редактор, файловый менеджер, несколько игр (Minesweeper и Snake), интерфейс для запуска программ, редактор шрифтов, менеджер загрузки файлов, эмулятор терминала;