Pull to refresh
Selectel
IT-инфраструктура для бизнеса

SerenityOS: Unix-подобная операционная система с кастомным ядром и графическим интерфейсом в стиле 90-х

Reading time 5 min
Views 25K

Пару лет назад в сети появилась информация о проекте Serenity — Unix-подобной операционной системе для архитектуры x86 с собственным ядром и винтажным интерфейсом. При этом возможности операционной системы заявлялись вполне современные.

Это ОС, написанная с нуля, которая не базируется на коде уже существующих операционных систем. Авторы SerenityOS активно работали над поставленной целью — создание новой операционной системы, пригодной для выполнения большинства привычных нам задач. Код системы пишется на С++. Сейчас проект достиг нового уровня развития — в среде ОС уже можно поработать, составив собственное мнение о SerenityOS. Подробности о новинке — под катом.

Очередной дистрибутив Linux?


Нет, авторы проекта утверждают, что система собиралась практически с нуля, без использования кода уже существующих ОС. Насколько можно судить, так и есть. У системы собственное ядро, графическая оболочка, диспетчер задач и прочие элементы и сервисы.

В самом начале разработки авторы проекта импортировали несколько функций стандартной библиотеки С и NetBSD. Но с течением времени от постороннего кода избавились.


Для того, чтобы собрать систему, нужно клонировать проект с git на свою машину и затем скомпилировать ее из исходного кода. В итоге пользователь выполняет запуск специфической виртуальной машины SerenityOS.

Авторы утверждают, что ОС заимствует несколько концептуальных идей у FreeBSD, включая лицензию системы и систему управления ПО ОС. Разработчики портировали для своей системы Quake и ретро-платформер VVVVVVV. Есть еще и рабочий порт Nesalizer для любителей эмуляции. Звук работает отменно — проблем с ним нет.


SerenityOS — не Linux и не BSD


Система действительно написана с нуля, причем прогресс идет относительно быстро, если оценивать скорость разработки парочки других похожих проектов. Сравнивать можно, например, с Haiku — проектом, который ставит своей целью воссоздание BeOS и еще одним проектом — TempleOS. Последний — довольно странный проект, разработанный американским программистом Терри А. Дэвисом с диагнозом «шизофрения».

На фоне похожих инициатив SerenityOS — «теплая ламповая» операционная система, с которой вполне можно работать.

Зачем написали эту систему? Этому есть две причины:

  • Автор хотел получить обычную ОС, написанную «под себя» и свои потребности.
  • Разработчик этой системы — излечившийся наркоман, который решил начать разработку масштабного проекта, чтобы отвлечься от своей вредной привычки.

Сейчас над этой ОС работает не один человек, а целая команда контрибьюторов — около 500 участников сообщества. На странице проекта на GitHub можно отследить работу примерно полутысячи человек, которые вносят посильный вклад в развитие проекта. Сейчас к команде присоединяется все больше людей, так что, вероятно, в скором времени можно ожидать ускорения разработки системы.

Можно ли полноценно работать в среде новой ОС?


Если кратко, то не совсем — операционную систему еще не доработали. Но дело осталось за малым — разрботчикам предстоит решить последние несколько проблем, после чего операционную систему можно будет выпускать «в люди». До этапа «полноценная и безглючная операционная система» остался еще год или два — в зависимости от активности рабочего дня команды создателей.


Одна из наиболее критичных проблем — работа браузера. Многие сайты и сервисы «падают» в нем, либо выглядят и работают некорректно, что признают и сами разработчики. Они пока не могут перенести современный браузер вроде Firefox или Chromium на новую ОС. Если есть желание, можно помочь и написать новый браузер с нуля. Текущий настолько слабый, что он пока не может даже воспроизводить видео с YouTube.


Основные достоинства


Новая операционная система очень быстрая и стабильная, если иметь в виду работу завершенных функций. Сейчас ядро ОС не поддерживает симметричную многопроцессорную обработку (SMP) — его специальная виртуальная машина использует только один поток физического процессора вашего хост-компьютера.

Модель системы — однопоточная. Чуть позже разработчики собираются добавить поддержку многоядерных процессоров. Сейчас она может работать с ними, но недолго — всего несколько минут.

Система интуитивно понятная, интерфейс ее коррелирует с интерфейсами 90-х, разобраться может даже ребенок. Unix-подобная консоль, трассировка стека и диспетчер оборудования выглядят весьма винтажно, если так можно выразиться.

Интересный момент — если в консоли ввести команду, которой не существует, то экран консоли кратковременно становится красным. Еще плюс — темы позволяют сделать SerenityOS похожей как на Win 95/98, так и на Windows 2000. Ну и есть еще HEX-редактор, обратите внимание.


SerenityOS, к слову, можно собрать и в Windows Subsystem for Linux — так что круг пользователей может быть достаточно широким.

На что похожа система?


По умолчанию — на Windows NT, в ней даже есть набор тем, которые выглядят, как те, что поставляла корпорация Microsot в 90-х. Разработчики подготовили множество системных утилит — все они работают, как и заявлено. Файловая система определяется как Ext2FS — здесь, наверное, стоило внедрить что-то более новое, но разработчикам виднее.

Наиболее положительный момент заключается в том, что из таких проектов, как TempleOS, Haiku, ReactOS новая операционная система выглядит почти завершенным проектом. Да, пока еще нет инсталлера, загружаемого ISO, но установить ее достаточно просто, а это — уже положительный момент для пользователей.

Список фунций на момент 2019 года впечатлял, поскольу ОС предоставляла такие возможности, как:

  • Вытесняющая многозадачность;
  • Многопоточность;
  • Композитный и оконный сервер 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), интерфейс для запуска программ, редактор шрифтов, менеджер загрузки файлов, эмулятор терминала.


Сейчас функций и возможностей гораздо больше, поэтому если есть желание попробовать новинку, стилизованную под 90-е годы прошлого века, вы вполне можете попробовать.


Разработчикам предстоит решить еще несколько задач, включая добавление поддержки GPU и больших мониторов с высоким разрешением.

Если есть желание более подробно ознакомиться с системой, то вот канал YouTube, на котором разработчики регулярно выкладывают новые видео ОС. А вот GitHub проекта, где много всего интересного.

Tags:
Hubs:
+85
Comments 62
Comments Comments 62

Articles

Information

Website
selectel.ru
Registered
Founded
Employees
501–1,000 employees
Location
Россия
Representative
Влад Ефименко