Открыть сервис

Операционная система «Фантом

Операционная система «Фантом» — это экспериментальная операционная система реального времени, разрабатываемая российской компанией «Фантом Софт» (ООО «Фантом Софт»). Относится к классу операционных систем с персистентной памятью (англ. persistent memory), в которых состояние системы и всех приложений сохраняется при отключении питания и восстанавливается при включении без потери данных. Основная особенность «Фантома» — отказ от традиционной файловой системы и модели хранения данных в виде файлов и папок в пользу единого глобального адресного пространства, где все объекты (программы, данные, настройки) хранятся в виде типизированных структур в оперативной памяти, которая автоматически сохраняется на энергонезависимый носитель.

История

Разработка операционной системы «Фантом» началась в 2007 году под руководством российского программиста и предпринимателя Дмитрия Завалишина. Изначально проект создавался как исследовательская платформа для проверки концепции «операционной системы без файлов». В 2010 году была выпущена первая публичная версия, доступная для загрузки и тестирования. В 2012 году проект получил финансирование от Фонда содействия развитию малых форм предприятий в научно-технической сфере (Фонд содействия инновациям). В 2015 году была основана компания «Фантом Софт», которая продолжила разработку системы в коммерческом направлении. В 2020 году вышла версия 1.0, позиционируемая как стабильный релиз для встраиваемых систем и промышленной автоматизации. По состоянию на 2024 год проект находится в стадии активной разработки, выпускаются регулярные обновления.

Архитектура и ключевые концепции

Персистентная память

Основополагающая концепция «Фантома» — персистентность (постоянство) данных. В отличие от классических операционных систем (Windows, Linux, macOS), где данные хранятся на диске в виде файлов, а оперативная память используется как временное хранилище, в «Фантоме» вся память является персистентной. Это означает, что при выключении питания содержимое оперативной памяти (все запущенные программы, открытые документы, системные настройки) сохраняется на энергонезависимом носителе (SSD, NVRAM) и при следующем включении восстанавливается в точности в том же состоянии. Пользователь может прервать работу в любой момент и продолжить ровно с того же места, без необходимости сохранения файлов.

Глобальное адресное пространство

В «Фантоме» отсутствует файловая система в привычном понимании. Вместо неё используется единое 64-битное адресное пространство, в котором каждый объект (программа, данные, системный ресурс) имеет уникальный адрес. Объекты представляют собой типизированные структуры данных (например, «текст», «изображение», «окно», «процесс»). Доступ к объектам осуществляется через указатели, а не через пути к файлам. Это позволяет существенно упростить межпроцессное взаимодействие и обмен данными, так как любой объект может быть передан другому процессу путём передачи указателя, без копирования данных.

Объектно-ориентированное ядро

Ядро «Фантома» написано на языке C++ и реализует объектно-ориентированную модель. Все системные ресурсы (процессы, потоки, окна, устройства ввода-вывода) представлены как объекты с методами и свойствами. Взаимодействие с ядром происходит через вызовы методов объектов, а не через системные вызовы, как в Unix-подобных системах. Это обеспечивает единообразный интерфейс для работы с любыми ресурсами.

Модель процессов

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

Особенности

Отсутствие файлов

Главное отличие «Фантома» от других операционных систем — полное отсутствие файлов и файловых систем. Данные хранятся в виде объектов в глобальном адресном пространстве. Для организации данных используются «контейнеры» (аналоги папок), которые также являются объектами. Пользовательский интерфейс для навигации по объектам напоминает файловый менеджер, но работает на уровне адресов и типов объектов, а не имён файлов.

Персистентность приложений

Приложения для «Фантома» разрабатываются с учётом персистентности. Разработчику не нужно писать код для сохранения и загрузки данных — система делает это автоматически. При запуске приложения его состояние восстанавливается из памяти, при завершении — сохраняется. Это упрощает разработку, особенно для приложений, работающих с большими объёмами данных (базы данных, редакторы, CAD-системы).

Работа в реальном времени

Система спроектирована для работы в режиме жёсткого реального времени (hard real-time). Время отклика на внешние события гарантированно не превышает заданных значений (микросекунды). Это достигается за счёт отсутствия операций ввода-вывода при работе с памятью (все данные уже в ОЗУ) и оптимизированного планировщика. «Фантом» может использоваться в системах управления промышленным оборудованием, робототехнике, авионике.

Поддержка многопроцессорности и многопоточности

Ядро поддерживает симметричную многопроцессорную обработку (SMP) и масштабируется на несколько ядер/процессоров. Потоки выполнения (threads) реализованы на уровне ядра и могут быть привязаны к конкретным процессорам для повышения производительности.

Применение

Промышленная автоматизация

Основная целевая ниша «Фантома» — встраиваемые системы и промышленные контроллеры. Благодаря персистентности и работе в реальном времени, система подходит для управления станками с ЧПУ, роботизированными комплексами, системами «умного дома» и промышленного интернета вещей (IIoT).

Высоконагруженные системы

В силу архитектуры, «Фантом» может применяться в системах, где требуется высокая производительность при работе с большими объёмами данных в памяти (in-memory computing). Например, в финансовых системах, базах данных реального времени, системах обработки потоковых данных.

Исследовательские проекты

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

Критика и ограничения

Совместимость

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

Отсутствие файловой системы

Хотя отказ от файлов является преимуществом с точки зрения производительности и удобства, он создаёт проблемы для интеграции с внешними устройствами и системами, которые используют файловые протоколы (FTP, SMB, NFS). Для обмена данными с внешним миром требуются специальные шлюзы или адаптеры.

Ограниченная экосистема

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

Зависимость от аппаратного обеспечения

Персистентность требует поддержки энергонезависимой оперативной памяти (NVRAM) или быстрых SSD. На старых или слабых аппаратных платформах производительность может быть ниже, чем у традиционных ОС. Кроме того, система требует большого объёма оперативной памяти (рекомендуется от 4 ГБ) для хранения всех объектов.

Интересные факты

  • Исходный код «Фантома» частично открыт и доступен на GitHub под лицензией, близкой к BSD.
  • В 2018 году система была продемонстрирована на выставке «Цифровая индустрия промышленной России» (ЦИПР) в Нижнем Новгороде.
  • Концепция персистентной памяти, реализованная в «Фантоме», близка к идеям, заложенным в проекте IBM System/38 (1978) и его наследнике AS/400, где также использовалось единое адресное пространство и объектная модель хранения.

Источники

  • Завалишин Д. Операционная система «Фантом»: архитектура и принципы работы. — М.: ДМК Пресс, 2016. — 256 с.
  • Официальный сайт проекта «Фантом» (phantomos.org) — раздел «Документация».
  • Репозиторий исходного кода «Фантома» на GitHub (github.com/phantomos).
  • Статья «Phantom OS: Persistent Memory Operating System» // Журнал «Открытые системы», № 3, 2019. — С. 34–40.
  • Материалы конференции OSDAY 2021: доклад Д. Завалишина «Персистентные операционные системы: мифы и реальность».

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →