Фантом ОС — операционная система, спроектированная российским программистом Дмитрием Завалишиным и разрабатываемая российской компанией Digital Zone совместно с университетом Иннополис. Работы по созданию ОС ведутся с 2010 года.

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

Основные отличительные черты Управляемый код, защита памяти на уровне объекта (а не процесса). Отсутствие арифметики указателей в управляемом коде позволяет избежать многих проблем, присутствующих в неуправляемом кодеПодробнее см. статью Безопасность доступа к памяти. Глобальное адресное пространство, весьма эффективные и дешёвые IPC. Единое адресное пространство позволяет передавать объект от одного процесса (приложения) к другому путём простой передачи ссылки на этот объект. Безопасность достигается благодаря отсутствию арифметики указателей, невозможности для прикладной программы получить ссылку на объект иначе, как путём вызова публичного метода, использованию байткода. Персистентность — гарантированное восстановление состояния операционной системы на момент последнего снимка памяти. Прикладной код «не видит» перезагрузок ОС и может жить вечно — отсюда отсутствие потребности в понятии «файл» — любая переменная или структура данных может храниться вечно и при этом быть доступна напрямую по указателю. В отличие от гибернации в других ОС, персистентность памяти заложена в основополагающих принципах построения ядра ОС Фантом, производится прозрачно для приложений, в большинстве случаев не требует доработки прикладного ПО, персистентность сохраняется даже при аварийной остановке компьютера.

Совместимость Система предполагает два пути миграции кода:

Конвертор из байткода JVM — позволит, теоретически, импортировать наработки на Java и других ЯП, работающих на виртуальной машине Java. POSIX-подсистема — позволяет переносить прикладной код из Unix/Linux — впрочем, для этой подсистемы часть свойств ОС не будет доступна. Также была попытка осуществить, с ограничениями, возможность запуска исполняемых файлов KolibriOS, но не известно, будет ли это включено в выпуск.

В дальнейшем возможна реализация конвертера для байткода .NET (C# и другие ЯП).

Статус проекта По состоянию на 2009—2011 года система существует лишь в виде предварительной альфа-версии для процессора ia32. В работе — перенос на процессор ARM (проходит часть испытаний, перенос не завершён) и начат перенос на MIPS и amd64. Работа ядра ОС демонстрировалась на нескольких крупнейших Российских IT-конференциях — CC 2011, РИТ 2011, ADD 2010, CC 2010 и 2009.

В январе 2022 было объявлено, что группа разработчиков университета Иннополис с 2019 года занимается портированием Phantom OS в качестве гостевой системы ОС Genode работающего с формально верифицированным микроядром seL4, и что проект близок к выходу в режим пилотной версии.

Критика Основные претензии к ОС Фантом делятся на две группы. Первая группа — вопросы маркетинга и путей выхода на рынок. Критики указывают на сложность выведения на рынок такого продукта, как операционная система, и отсутствие сформированного рынка прикладного ПО для систем, не совместимых с уже существующими ОС. Вторая группа — технические вопросы. Наиболее рациональная техническая претензия указывает на неэффективность модели ввода-вывода ОС Фантом для некоторых видов приложений — а именно приложений, которые активно и неоднократно модифицируют огромные объёмы данных.

Следует заметить, что применяемая на машинах IBM System i класса мини-ЭВМ операционная система как раз предназначена для обработки больших и очень больших объёмов данных. Она основана также на идее одноуровневой памяти, объектно-ориентированности, других схожих идеях. Архитектура успешно развивается с 1988 года, что доказывает принципиальную возможность их обработки на базе ОС Фантом.

Сходства и различия Как и Юникс в своё время, Фантом не претендует на уникальность применяемых в нём идей и механизмов, но претендует на то, что до сих пор данные идеи в таком сочетании не применялись. По отдельности идеи, на которые опирается Фантом, встречались или встречаются в таких системах, как:

IBM i — одноуровневая память, объектно-ориентированная ОС, персистентность, управляемая среда EROS — есть персистентность, но нет глобального адресного пространства и управляемой среды, как следствие — коммуникации между компонентами неудобны (IDL и компоновка-разбор сообщений) и неэффективны. Singularity — есть управляемая среда, нет персистентности PalmOS — есть подобие персистентности (но при этом используется файловая семантика работы с ней), но нет глобальной среды и дешёвых IPC, кроме того персистентность де факто не гарантирована — отказ питания приводит к потере данных на устройстве.

См. также IBM i Microsoft Singularity Extremely Reliable Operating System JNode

Примечания

Ссылки Официальные сайты

, Github, Dmitry Zavalishin

, английский язык Россияне создали уникальную ОС — конкурента Linux/ Система «Фантом» Дмитрия Завалишина – готова к использованию в пилотах. // CNews, 21 Января 2022

Обзоры в прессе

Категория:Свободные операционные системы Категория:Операционные системы СССР и России