Новые операционные системы 2021 и 2022 года

y8yhxqvx7lquuflyycx2giwqmsy.jpeg

В конце 2021 года мир увидел прекрасную операционную систему Essense с рядом функций, которых по умолчанию нет в популярных ОС, таких как Windows, MacOS или Ubuntu. Например, векторный UI и группировка окон по вкладкам (табам), как на скриншоте вверху. Действительно, очень удобно. Даже странно, почему никто из «больших» ещё не реализовал.

Essense — не единственная система, созданная с нуля одним человеком или небольшим коллективом. Есть такие феномены и в России.

Essense OS


Ключевые характеристики Essense OS:

  • Для полноценной работы достаточно 30 МБ дискового пространства и примерно 64 МБ оперативной памяти. На скриншоте внизу ядро ОС занимает 45,5 МБ, но для загрузки хватит меньшего.
    4rkqp-zsks_vooeroaadlczxvce.png
  • Загрузка за несколько секунд даже на старом HDD. В демонстрационном видео при загрузке с SSD рабочий стол появляется через 0,7 секунды после заставки BIOS.
  • Полностью векторный GUI, то есть идеальное качество изображения на дисплеях высокого разрешения. Продвинутый векторный рендеринг с поддержкой анимации.
  • Вкладки.
  • Рендеринг шрифтов на FreeType и Harfbuzz (любые языки).
  • Открытые исходники.
  • Особенности ядра:
    • Независимый от файловой системы менеджер кэша.
    • Менеджер памяти: общая память, маппинг файлов в память, многопоточное обнуление страниц, балансировка рабочего множества — память, которая требуется процессам в каждый момент времени.
    • Сетевой стек для TCP/IP.
    • Шедулер с несколькими уровнями приоритетов и инверсией приоритетов.
    • Загрузка модулей по требованию.
    • Виртуальная файловая система.
    • Оконный менеджер.
    • Аудиомикшер (в настоящее время переписывается).
    • Дополнительная POSIX-подсистема, способная запускать GCC и некоторые инструменты Busybox.


В общем-то, это отличный образец системного программирования.

Есть свой файл-менеджер, текстовый редактор, IRC-клиент, диспетчер задач. На Essense портированы Bochs, GCC, Binutils, FFmpeg, Mesa (для софтверного OpenGL) и Musl.

Некоторые фичи, отсутствующие в других ОС, реализованы только благодаря глубокой интеграции подсистем в единой кодовой базе, написанной с нуля. Например, маппинг файлов в память, когда файл-менеджер подсвечивает названия файлов, открытых в данный момент. Такую функцию сложно реализовать в менеджере памяти Windows: слишком многое придётся переделать в тяжеловесном легаси.

Проверить систему в действии можно самостоятельно. Последние билды можно посмотреть здесь. Команда для установки в виртуальной машине Qemu:

qemu-kvm -drive file=drive,format=raw -m 2048 -smp 2 || qemu-system-x86_64 -enable-kvm -drive file=drive,format=raw -m 2048 -smp 2


Пока все версии выпускаются только для эмуляторов, но скоро автор обещает выпустить первый билд с настройками для реального железа (наверное, x86).

Видеодемонстрация на реальном железе:

Обсуждение проекта — на сервере Discord (обычно в онлайне больше 100 участников).

SerenityOS: шведский минимализм


l1btwcjy8sfu3aevnttwtx6akz4.png

Про SerenityOS уже упоминали на Хабре. Но в реальности каждый новый месячный апдейт Serenity — это событие, потому что проект сам по себе довольно удивительный.

Шведский разработчик Андреас Клинг совершенствует своё детище практически в одиночку. Для сравнения, над ядром Windows XP работало несколько тысяч программистов (общее число сотрудников Microsoft сейчас около 190 000).

Неудивительно, что Андреас практически стал звездой YouTube с 32 тыс. подписчиков.

1tjm0dywpn2809iggac1arr7ysi.jpeg
Андреас Клинг

Раньше Андреас трудился в Apple над оптимизацией производительности движка WebKit. Компания Apple отличается тем, что почти все инструменты и программы создаёт сама с нуля, включая операционную систему и браузер. Судя по всему, разработчик проникся этим подходом. Так родилась операционная система Serenity.

В одном из интервью Андреас говорит, что проект очень важен для него в плане восстановления после зависимости. Собственно, он начал SerenityOS во время реабилитации — и продолжает до сих пор. Это как новая здоровая страсть, которая полностью заменяет старую пагубную.

Конечно, сейчас Serenity стала достаточно известной ОС, так что к делу подключились другие энтузиасты. Но поначалу он всё делал один. Вообще, увлекательно наблюдать за разработкой. Иногда она происходит буквально в реальном времени. Например, Андреас пишет в чате, что хорошо бы добавить функцию Х, а через два часа новое сообщение: «Функция Х добавлена».

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

Последнее видео с обновлениями за январь 2022 года:

Вот ещё одно маленькое демо: здесь мы видим, что ОС работает на реальном железе, она загружается, запускается диспетчер задач, консоль и DOOM (320×200). Кстати, этот компьютер Андреас собрал из запчастей, которые ему прислали пользователи Reddit со всего мира: CPU i9–9900k, 64 ГБ DDR4, SSD 240 ГБ и т. д., то есть неплохая машина.

Стандартный UI напоминает классический дизайн Windows 95/98/2000 и выглядит немного консервативно по современным меркам. С другой стороны, у «старой школы» осталось много преданных сторонников, которым не очень нравятся последние тренды в UI.

Пример GUI-программирования в SerenityOS. Минимальная программа c окном:

#include 
#include 

int main(int argc, char** argv)
{
GUI::Application app(argc, argv);
auto window = GUI::Window::construct();
window->set_title("My window!");
window->set_rect(100, 100, 300, 200);
window->show();
return app.exec();
}


Программа рисует окошко заданного размера по заданным координатам с указанным заголовком:

7vipd2g20zttbxzfgkjev-lqykw.png

Добавить кнопку — четыре строчки:

 auto& button = window->set_main_widget("OK");
button.on_click = [&] {
app.quit();
};


Под SerenityOS совсем не сложно писать софт. За два года сторонние разработчики выложили несколько десятков приложений, игр и демок.

Персистентная память. Два в одном


Отдельно хочется упомянуть про уникальную российскую разработку Phantom OS, над которой более десяти лет работает Дмитрий Завалишин (dzavalishin) с коллегами. Собственно, сам автор неоднократно рассказывал о ней на Хабре.

Просто в этом году по СМИ прокатилась волна статей с упоминанием Phantom OS: всё началось с Cnews («Россияне создали уникальную ОС — конкурента Linux»), потом тему подхватили на Хабре. Возможно, кто-то уже забыл или не знал про Phantom OS, так что им было любопытно прочитать про этот проект.

На самом деле приятно, что о разработке вновь вспомнили. Самое главное, что опять всплыла ключевая и фундаментальная идея «Фантом ОС», которая отнюдь не устарела: это персистентная оперативная память. Кстати, год назад на эту тему был доклад на конференции FOSDEM 2021, то есть персистентная память считается актуальной и перспективной идеей.

Смысл в том, что объём RAM в компьютере уже позволяет хранить в оперативной памяти всю операционную систему, файлы и т. д. Нужно, чтобы информация сохранялась после отключения питания. Эта задача решается, например, сохранением образа памяти на диск.

Хотя работа с медленными накопителями остаётся неэффективной, главное, что ОС изначально спроектирована на один уровень памяти, а не на два (быстрая RAM + постоянное хранилище). То есть единая сущность вместо двух миров. Как говорил сам системный архитектор Phantom OS в комментариях на Хабре, «важно иметь концепцию персистентной системы, а сам механизм обеспечения персистентности вторичен. Если он появится в бесплатном виде — отлично».

Другими словами, осталось дело за малым — выпустить быструю энергонезависимую память.

Российские ОС


Персистентная оперативная память — далеко не единственная инновационная идея, которая никак не реализована в массовых операционных системах. На то они и массовые, чтобы сохранять легаси. Но это же и причина отсутствия революционных инноваций. Вот почему каждый год на конференциях типа SOSP, OSDI, EuroSys и HotOS энтузиасты представляют десятки новых операционных систем. Ближайшая конференция EuroSys пройдёт 5–8 апреля 2022 года в Ренне.

В России тоже есть научно-практическая конференция по операционным системам: OS DAY. Например, на OS DAY 2021 рассказывали про ОС «Аврора» (инфраструктура разработки, доверенная среда исполнения Аврора TEE и механизмы безопасности), KasperskyOS, QP ОС, РЕД ОС и др.

fksazgplmxkqt907ifqcipse1aq.jpeg
«Ульяновск.BSD 12» (версия 2021.12.21) на базе FreeBSD из Единого реестра российских программ

Единый реестр российских программ для электронных вычислительных машин и баз данных по классу «Операционные системы» содержит 24 записи:

Любая система — это программно-аппаратный комплекс. То есть ОС должна поддерживать различное оборудование на уровне драйверов. Или работать на собственной платформе. Поэтому параллельно с ОС продолжается разработка российских процессоров. Из серверных CPU: 32-ядерный «Эльбрус-32С» (6–7 нм), 48-ядерный «Байкал-S», «Байкал-S» (6 нм), процессор Yadro и др. В России производятся материнские платы собственного дизайна (для «Эльбрусов»). Теоретически в будущем возможно создание серверов на своей элементной базе с собственной ОС. В принципе, здесь нет ничего фантастического.

15ift3u2i7ut3cvwhdarokr2aao.jpeg

Как показывает практика, серверы на процессорах «Эльбрус» пока что получаются дороже и хуже, чем на стандартных x86. Но разработчики надеются, что это временное явление.

А какие OS приглянулись вам больше всего?

НЛО прилетело и оставило здесь промокоды для читателей нашего блога:

— 15% на все тарифы VDS (кроме тарифа Прогрев) — HABRFIRSTVDS.

— 20% на выделенные серверы AMD Ryzen и Intel Core — HABRFIRSTDEDIC.

© Habrahabr.ru