Россияне создали уникальную ОС — конкурента Linux

Цифровизация Системное ПО Техника Открытое ПО
, Текст: Дмитрий Степанов
Российский программный «долгострой» – уникальная микроядерная операционная система «Фантом» Дмитрия Завалишина – готова к использованию в пилотах. Ожидается, что проект, работа над которым ведется с 2010 г., заинтересует, в частности, энергетиков, военную промышленность, банки и сможет побороться за место под солнцем с Linux.

Воплощение «Фантома»

Как стало известно CNews, работа над операционной системой «Фантом», за которой стоят компания DZ Systems российского предпринимателя и программиста Дмитрия Завалишина, а также университет «Иннополис», близка к завершению. В 2022 г. разработчики рассчитывают подготовить рабочий прототип системы, портированный на фреймворк для создания ОС на базе микроядер Genode.

«Основная версия операционной системы готова к пилотным проектам. Версия для Genode пока не завершена, именно над ней и идет работа. По плану в конце года она будет готова к применению», – заявил Завалишин в разговоре с CNews.

Портированием на Genode занимается специальная рабочая группа, созданная в 2019 г. на базе «Иннополиса».

Процедура предусматривает сращивание среды исполнения программ этой операционной системы с программным ядром фреймворка, имеющим возможность поддержки многочисленных аппаратных платформ (x86, ARM, RISC-V и др.) и гипервизоров, включая формально верифицированную систему seL4. Как подчеркнул глава DZ Systems, это позволит упростить и ускорить реализацию и доработку «Фантома». Также это поможет сделать ОС более надежной и безопасной, адаптировать ее к реальному использованию в промышленной сфере.

evil-tux-droid-600.jpg
Россияне создали уникальную ОС — конкурента Linux

«На сегодня существует базовая версия ОС "Фантом", которая включает в себя два слоя – традиционный слой кода, который управляет "железом" компьютера, и, собственно, слой реализации сущности ОС, – объясняет Завалишин. – Первый слой – это работа с процессором, контроллером памяти, драйверы устройств и т. п. Все это есть в любой ОС. Работа по портированию заключается в замене первого слоя на аналог из Genode. В процедуру входит написание прослойки, которая реализует низкоуровневые примитивы ядра ОС "Фантом", которые, в свою очередь, реализованы через аналогичные примитивы ядра Genode».

DZ Systems занимается развитием ОС «Фантом» на основе микроядра начиная с 2010 г. Разработка ведется с нуля. Согласно информации, опубликованной на официальном сайте проекта, эта российская ОС опирается на управляемый код и концепцию персистентной виртуальной памяти, ориентирована на применении в носимых и встраиваемых устройствах. Код проекта свободно доступен на условиях лицензии LGPL.

Особенности ОС

В отличие от принципа «все есть файл», применяемого в Unix-подобных системах, к которым относится и популярная в России GNU/Linux – именно на ее основе построено большинство отечественных ОС («Альт», Astra Linux, «Ред ОС» и т.п.), «Фантом» базируется на принципе «все есть объект».

«Операционная система устроена таким образом, что с точки зрения прикладного процесса она никогда не перестает работать, – объясняет особенности своего детища Дмитрий Завалишин. – То есть физическое выключение компьютера для нее – то же самое, что пауза, не более. И прикладные программы при новом старте продолжают работать, как будто отключения не было».

Упрощенно говоря, «Фантом» представляет собой виртуальную машину, которая с заданной периодичностью «сбрасывает» снимки своего состояния (виртуальной памяти) в постоянную память (в некотором роде напоминает гибернацию в Microsoft Windows). Это позволяет в случае отключения питания компьютера или сбоя «откатить» систему к последней успешной транзакции и как ни в чем не бывало продолжить работу.

ОС «Фантом», запущенная в виртуальной машине QEMU

«В ситуации, когда ОС гарантирует программе вечную работу, каждая переменная такой программы семантически превращается в файл. Это означает, что программа перестает нуждаться в, собственно, файлах для хранения данных, которые требуются для работы. Это включает в себя как данные, которые поставляются вместе с программой, так и данные, порожденные в процессе работы. Нет файлов – нет точки входа для сторонней программы (вируса), нет способа вторгнуться в "личное пространство" программы для модификации ее поведения», – отметил Завалишин в разговоре с CNews, отвечая на вопрос о том, как помогает защититься от вредоносных программ применяемый в ОС «Фантом» подход.

Помимо повышения отказоустойчивости и безопасности, данная особенность «Фантома» упрощает разработку прикладного ПО под эту ОС: программисту, в частности, не нужно заботиться о сохранении данных, а ориентированность системы на управляемый код позволяет отказаться от управления памятью вручную.

Другая важная черта «Фантома», которую отмечают разработчики, – высокая производительность. Она достигается, в частности, за счет использования глобального адресного пространства и отсутствия характерного для современных мейнстримных ОС переключения контекста между ядром и запущенными программами, которое может быть весьма ресурсозатратным, но необходимым по соображениям безопасности.

Фото: phantomos.org
Графический интерфейс ОС «Фантом» с консолью Quake на переднем плане

По данным Github-wiki проекта, байт-код виртуальной машины «Фантома» во многом напоминает байт-код Java (выполняемый JVM), однако не предусматривает различий между встроенными типами данных и пользовательскими (классами), то есть любой объект (даже, к примеру, представляющий целое число) является экземпляром класса. Подобная схожесть позволяет достаточно легко построить конвертер байт-кода Java в понятный «Фантому», который позволит портировать на данную ОС уже существующие приложения, написанные на Java.

Кроме того, разработчики планировали предусмотреть возможность выполнения нативного кода (имеющего низкоуровневый, без посредников, доступ к «железу») в отдельном потоке (треде), привязанном к специальному объекту, что может быть полезно при решении задач, требующих высокой производительности, например, обработки видео, звука, сложных вычислений.

Наконец, «Фантом» обеспечивает начальную поддержку стандарта POSIX, что, в частности, может несколько облегчить перенос на данную ОС ПО с других, совместимых с этим стандартом, систем, например, Linux.

Уникальность идей, заложенных в ОС «Фантом»

Стоит отметить, что идеи, воплощенные в ОС «Фантом», нельзя назвать совершенно новыми. К примеру, принцип персистентности реализован в ОС EROS (Extremely Reliable Operating System), которую с 1991 по 2005 гг. разрабатывал Университет Джона Хопкинса (США). Система, полностью написанная на управляемом коде, тоже существует – это Singularity за авторством исследовательского подразделения Microsoft.

Тем не менее, на уникальность претендует «Фантом» в целом как совокупность довольно органично увязанных друг с другом и реализованных на практике давно существующих идей.

Дальнейшие планы разработчиков

В дальнейшие планы разработчиков, как рассказали CNews в DZ Systems, входит получение версии ОС «Фантом», интегрированной с чистым микроядром sel4, создание формально верифицированной ОС на базе верифицированного микроядра.

«Sel4 – единственное сегодня микроядро, в отношении которого математически доказана безошибочность его кода, – говорит Дмитрий Завалишин. – Код "Фантома" достаточно прост и невелик по объему. Если мы внедрим в него доказанно правильное ядро, можно будет рассчитывать на то, что в результате удастся доказать и правильность кода всей операционной системы в целом. Это – одна из целей, которые мы преследуем в работе с университетом "Иннополис"».

Со слов Завалишина, сейчас «Фантом» функционирует на базе собственного ядра, которое прямо работает с аппаратурой компьютера.

По словам ректора университета «Иннополис» Александра Тормасова, в ближайшее время разработчики, помимо портирования ОС на Genode, рассчитывают подготовить ее к использованию в реальных проектах, а также добавить поддержку популярных языков программирования.

Главный конкурент – Linux

Говоря о коммерческих перспективах продукта, руководитель DZ Systems заявил, что тот, вероятно, заинтересует организации, уделяющие особое внимание безопасности – предприятия ТЭК, военной промышленности, объекты критической информационной инфраструктуры (КИИ), например банки.

«Основная цель на сегодня – встроенные применения, которые требуют высокой надежности, IoT-тематика (устройства интернета вещей; – прим. CNews) и роботы», – говорит Завалишин. По его мнению, у ОС «Фантом» в данном сегменте рынка существует лишь один конкурент – Linux.

Одним из важных преимуществ операционных систем на базе Linux является свободная доступность широкого перечня программ, предназначенных для решения самых разных задач. Экосистема Linux формировалась десятилетиями при участии миллионов разработчиков и поддержке крупнейших технологических компаний мира.

На вопрос, как именно планируется решать проблему дефицита прикладных программ для по сути совершенно новой ОС «Фантом», Завалишин не ответил. По его словам, лабораторию в «Иннополисе», которая занимается системой, ведут два сотрудника университета, которые привлекают к работе группы студентов. Помимо них, над ОС трудится несколько сотрудников DZ Systems.