Фантом (операционная система)
Фантом ОС — операционная система, спроектированная российским программистом Дмитрием Завалишиным и разрабатываемая российской компанией Digital Zone совместно с университетом Иннополис. Работы по созданию ОС ведутся с 2010 года.
ОС Фантом | |
---|---|
| |
Разработчик | Digital Zone |
Исходный код | FOSS |
Поддерживаемые языки | C/Phantom/Java |
Лицензия | GNU LGPL |
Состояние | разрабатывается |
Веб-сайт | dz.ru/os-phantom |
Операционная система базируется на концепции персистентной виртуальной памяти, ориентирована на управляемый код и нацелена на применение в носимых и встроенных компьютерах. ОС Фантом — одна из немногих ОС, не опирающихся на классические концепции 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.
Критика
Основные претензии к ОС Фантом делятся на две группы. Первая группа — вопросы маркетинга и путей выхода на рынок. Критики указывают на сложность выведения на рынок такого продукта как операционная система, и отсутствие сформированного рынка прикладного ПО для систем, не совместимых с уже существующими ОС. Вторая группа — технические вопросы. Наиболее рациональная техническая претензия указывает на неэффективность модели ввода-вывода ОС Фантом для некоторых видов приложений — а именно приложений, которые активно и неоднократно модифицируют огромные объёмы данных.
Следует заметить, что применяемая на машинах IBM System i класса мини-ЭВМ операционная система как раз предназначена для обработки больших и очень больших объёмов данных. Она основана также на идее одноуровневой памяти, объектно-ориентированности, других схожих идеях. Архитектура успешно развивается с 1988 года, что доказывает принципиальную возможность их обработки на базе ОС Фантом.
Сходства и различия
Как и Юникс в своё время, Фантом не претендует на уникальность применяемых в нём идей и механизмов, но претендует на то, что до сих пор данные идеи в таком сочетании не применялись. По отдельности идеи, на которые опирается Фантом, встречались или встречаются в таких системах, как:
- IBM i — одноуровневая память, объектно-ориентированная ОС, персистентность, управляемая среда
- EROS — есть персистентность, но нет глобального адресного пространства и управляемой среды, как следствие — коммуникации между компонентами неудобны (IDL и компоновка-разбор сообщений) и неэффективны.
- Singularity — есть управляемая среда, нет персистентности
- PalmOS — есть подобие персистентности (но при этом используется файловая семантика работы с ней), но нет глобальной среды и дешёвых IPC, кроме того персистентность де факто не гарантирована — отказ питания приводит к потере данных на устройстве.
Примечания
- Подробнее см. статью Безопасность доступа к памяти
- Новость о поддержки исполняемых файлов KolibriOS в блоге Дмитрия Завалишина
- Выступление Дмитрия Завалишина на CC 2011
- Выступление Дмитрия Завалишина на ADD 2010 (недоступная ссылка). Дата обращения: 27 апреля 2011. Архивировано 7 июля 2012 года.
- Выступление Дмитрия Завалишина на Chaos Constructions’2010 (Санкт-Петербург, Россия) (недоступная ссылка). Дата обращения: 27 апреля 2011. Архивировано 23 марта 2012 года.
Ссылки
- Официальные сайты
- Операционная система «Фантом» . Digital Zone. Дата обращения: 6 июня 2018.
- Репозиторий исходных текстов ОС «Фантом» ., Github, Dmitry Zavalishin
- Английский сайт проекта .
- Руководство программиста, английский язык .
- Рассказ о системе на FosDem2020 ., английский язык
- Россияне создали уникальную ОС — конкурента Linux/ Система «Фантом» Дмитрия Завалишина – готова к использованию в пилотах. // CNews, 21 Января 2022
- Обзоры в прессе
- PhantomOS: держим курс на ортогональную персистентность. Часть 1 . — «Можно ли в наши времена программисту-одиночке создать с нуля очередную новую операционную систему, причём с принципиально иным устройством, отличным от общепринятого? Осталось ли ещё место на современном переполненном конкуренцией Олимпе ИТ как для совершенно новых идей, так и для смелых людей, их реализующих?».
- PhantomOS: держим курс на ортогональную персистентность. Часть 2 .
- Дмитрий Завалишин. Операционная система "Фантом" . Открытые системы (10 мая 2011). — «Практически все сегодня пользуются операционными системами. Но хороши ли операционные системы современности, решают ли они все стоящие перед ними задачи, возможен ли прогресс в этой области?». Дата обращения: 11 мая 2011.
- Андрей Письменный. Дмитрий Завалишин об операционной системе "Фантом" . Компьютерра (9 июля 2010). — «В ОС "Фантом", которую разрабатывают в России, нет разницы между запущенными и не запущенными приложениями. Автор "Фантома" уверен, что именно в этом направлении будут развиваться операционные системы.». Дата обращения: 27 апреля 2011.
- Андрей Майоров. Стенограмма доклада про Фантом-ОС, сделанного Дмитрием Завалишиным на ADD-2010 . Habrahabr (25 апреля 2011). — «Дмитрий Завалишин рассказал о текущем состоянии в разработке своего любимого детища — оригинальной операционной системы PhantomOS, близкой по концепции Microsoft Singularity, но при этом open-source (опубликована большая часть исходных кодов этой операционной системы).». Дата обращения: 27 апреля 2011. Архивировано 13 мая 2012 года.
- Максим Белоус. Фантом отечественной сборки . PC Magazine (23 апреля 2009). Дата обращения: 27 апреля 2011.
- Андрей Анненков. Phantom Operating System (недоступная ссылка). IT Today (13 февраля 2011). Дата обращения: 27 апреля 2011. Архивировано 10 февраля 2012 года.
- Ted Dziuba. Russian rides Phantom to OS immortality (англ.). The Register (3 февраля 2009). — «The iPhone that never dies». Дата обращения: 27 апреля 2011. Архивировано 13 мая 2012 года.