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

Перейти к навигацииПерейти к поиску
ОС Фантом
Изображение логотипа
Скриншот Phantom OS
Скриншот Phantom OS
РазработчикФлаг России Digital Zone
Исходный код FOSS
Поддерживаемые языкиC/Phantom/Java
ЛицензияGNU LGPL
Состояние разрабатывается
Веб-сайтdz.ru/os-phantom

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

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

Основные отличительные черты

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

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

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

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

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

Статус проекта

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

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

Критика

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

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

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

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

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

См. также

Примечания

  1. Подробнее см. статью Безопасность доступа к памяти
  2. Новость о поддержки исполняемых файлов KolibriOS в блоге Дмитрия Завалишина. Дата обращения: 30 апреля 2020. Архивировано 16 июля 2022 года.
  3. Выступление Дмитрия Завалишина на CC 2011. Дата обращения: 1 октября 2017. Архивировано 24 сентября 2016 года.
  4. Выступление Дмитрия Завалишина на ADD 2010. Дата обращения: 27 апреля 2011. Архивировано из оригинала 7 июля 2012 года.
  5. Выступление Дмитрия Завалишина на Chaos Constructions’2010 (Санкт-Петербург, Россия). Дата обращения: 27 апреля 2011. Архивировано из оригинала 23 марта 2012 года.
  6. 1 2 В России разработали открытую операционную систему «Фантом» на собственном микроядре. infostart.ru. Дата обращения: 27 июня 2023. Архивировано 27 июня 2023 года.
  7. Россияне создали уникальную ОС — конкурента Linux - CNews. CNews.ru. Дата обращения: 27 июня 2023. Архивировано 21 февраля 2022 года.

Ссылки

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

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