Pull to refresh
318.04
FirstVDS
Виртуальные серверы в ДЦ в Москве и Амстердаме

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

Reading time7 min
Views61K


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

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

Essence OS


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

  • Для полноценной работы достаточно 30 МБ дискового пространства и примерно 64 МБ оперативной памяти. На скриншоте внизу ядро ОС занимает 45,5 МБ, но для загрузки хватит меньшего.

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

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

Есть свой файл-менеджер, текстовый редактор, IRC-клиент, диспетчер задач. На Essence портированы 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: шведский минимализм




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

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

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


Андреас Клинг

Раньше Андреас трудился в 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 <LibGUI/Application.h>
#include <LibGUI/Window.h>

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();
}

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



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

 auto& button = window->set_main_widget<GUI::Button>("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 ОС, РЕД ОС и др.


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

Единый реестр российских программ для электронных вычислительных машин и баз данных по классу «Операционные системы» содержит 24 записи (версия на 12 октября 2020):
Название Правообладатель
Calculate Directory Server ООО «МИР КАЛКУЛЭЙТ»
Calculate Linux Desktop ООО «МИР КАЛКУЛЭЙТ»
Kraftway Terminal Linux ЗАО “Крафтвэй корпорэйшн ПЛС”
RAIDIX ООО «РЭЙДИКС»
Sailfish Mobile OS RUS ООО «ОТКРЫТАЯ МОБИЛЬНАЯ ПЛАТФОРМА»
WANFleX ООО «ИНФИНЕТ»
WTware Ковалёв Андрей Александрович
Альт Линукс 7.0 Кентавр ООО «Альт Линукс»
Альт Линукс КДесктоп ООО «Альт Линукс»
Альт Линукс СПТ ООО «Свободные программы и технологии
Альт Линукс Школьный ООО «Альт Линукс»
Альт Образование ООО «БАЗАЛЬТ СВОБОДНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ»
Альт Сервер ООО «БАЗАЛЬТ СВОБОДНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ»
Базальт Рабочая станция ООО «БАЗАЛЬТ СВОБОДНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ»
Комплекс анализа защищённости «Сканер-ВС» ЗАО «Научно-производственное объединение «Эшелон»
ОС РОСА КОБАЛЬТ DX ООО «НТЦ ИТ РОСА»
ОС РОСА ХРОМ DX ООО «НТЦ ИТ РОСА»
Операционная система «Синергия 1.0» ФГУП «Российский федеральный ядерный центр — Всероссийский научно-исследовательский институт экспериментальной физики»
Операционная система для микроконтроллера «Магистра х.х." Зырин Николай Владимирович
Операционная система специального назначения «Astra Linux Special Edition» АО «Научно-производственное объединение Русские базовые информационные технологии»
Программный комплекс ICLinux ОАО «АйСиЭл — КПО ВС»
Программный комплекс терминального доступа «Циркон 36КТ» ЗАО «МНОГОПРОФИЛЬНОЕ ВНЕДРЕНЧЕСКОЕ ПРЕДПРИЯТИЕ «СВЕМЕЛ»
Программный комплекс терминального доступа «Циркон 36СТ» ЗАО «МНОГОПРОФИЛЬНОЕ ВНЕДРЕНЧЕСКОЕ ПРЕДПРИЯТИЕ «СВЕМЕЛ»
Ульяновск.BSD Волков Сергей Вячеславович
Любая система — это программно-аппаратный комплекс. То есть ОС должна поддерживать различное оборудование на уровне драйверов. Или работать на собственной платформе. Поэтому параллельно с ОС продолжается разработка российских процессоров. Из серверных CPU: 32-ядерный «Эльбрус-32С» (6–7 нм), 48-ядерный «Байкал-S», «Байкал-S» (6 нм), процессор Yadro и др. В России производятся материнские платы собственного дизайна (для «Эльбрусов»). Теоретически в будущем возможно создание серверов на своей элементной базе с собственной ОС. В принципе, здесь нет ничего фантастического.



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

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

15% на все тарифы VDS (кроме тарифа Прогрев) — HABRFIRSTVDS.
Tags:
Hubs:
Total votes 35: ↑31 and ↓4+35
Comments58

Articles

Information

Website
firstvds.ru
Registered
Founded
Employees
51–100 employees
Location
Россия
Representative
FirstJohn