Фантом (операционная система)


Фантом ОС — операционная система, спроектированная российским программистом Дмитрием Завалишиным и разрабатываемая российской компанией 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.

Критика

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

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

Сходства и различия

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

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





Яндекс.Метрика