Российскую операционную систему «Фантом» довели до тестирования после 12 лет разработки с нуля Статьи редакции
Система использует необычную архитектуру, не похожую на Windows и Linux.
Основная версия операционной системы «Фантом» готова для пробных проектов, а полноценный релиз запланирован на конец 2022 года. Об этом главный разработчик системы Дмитрий Завалишин сообщил в интервью изданию CNews. Завалишин работает над системой с 2010 года вместе с сотрудниками холдинга DZ Systems, первую компанию которого он основал в 2005 году.
Система «Фантом» отличается от классических Windows, Linux и macOS — она использует персистентную виртуальную память, управляемый код и глобальное адресное пространство.
- Персистентная виртуальная память подразумевает «непрерывность» выполнения процессов и высокую надёжность хранения данных. Приложения «не видят» перезагрузок и выключений, с их точки зрения система работает без остановок и постоянно сохраняет все изменения данных. Пользователю не нужно самому заботиться о сохранении файлов и резервных копий — даже аварийное завершение не повредит их. Файлов в «Фантоме» вообще нет — вместо них система оперирует объектами, которые доступны напрямую по указателям.
- Управляемый код защищает каждый объект и не даёт программисту вручную работать с памятью — это сразу отсекает большую часть ошибок и уязвимостей, которые повреждают данные пользователя и позволяют распространяться вирусам. Классические системы защищают только процессы друг от друга, тогда как внутри них может происходить буквально что угодно.
- Глобальное адресное пространство обеспечивает максимальную производительность выполнения программ. Классические системы делят память на пространство ядра и пространство пользователя — в первом работает ядро системы (центральная часть, управляющая всеми ресурсами), во втором — приложения пользователя. Во время работы системе приходится миллионы раз в секунду переключаться между этими пространствами, что плохо сказывается на производительности. «Фантом» избавлен от этих переключений — все процессы взаимодействуют друг с другом через прямую передачу ссылок на объекты. В классической системе это чрезвычайно опасный подход, но не в системе с управляемым кодом.
Основная ниша «Фантома» это встраиваемые системы — управление промышленным оборудованием и бытовой техникой, интернет вещей и прочие задачи, где сейчас господствует Linux. DZ Systems работает над переносом «Фантома» на фреймворк Genode — специальную «обвязку» для микроядерных операционных систем, позволяющую запускать обычные Linux-программы. Именно эта версия должна выйти к концу 2022 года.
В дальнейшем Завалишин с коллегами планируют перенести «Фантом» на микроядро seL4, чтобы математическим способом проверить всю систему и доказать отсутствие в ней ошибок и уязвимостей. Это позволит создать основу для построения крайне надёжных и защищённых программных комплексов.
Комментарий недоступен
Если проявятся преимущества этого подхода - то она сама взлетит.
Потенциально преимуществ много - например вообще не надо писать код "запуска" программы, подтягивания файлов, ресурсов и прочего. Все программы там по умолчанию "запущены". То-же самое с сериализацией-десериализацией данных - её там просто нет. Отваливаются целые большие слои работы, на которые программисты тратят кучу времени в традиционных операционках.
В вебдеве полно примеров когда никому не известная но удачная библиотека/фреймфорк всплывает и становится мейнстримом.
В любом случае лучше пробовать, экспериментировать, не пропадёт.
Как таковая экономия на строках при разработке, на мой взгляд, является абсолютно не обоснованным занятием.
Пусть код будет многословнее, но понятнее и что самое важное легче поддерживаемым.
С другой стороны я с Вами абсолютно согласен, что наследие прошлого, обратная совместимость, конвертация данных/передача данных между различными процессами/сервисами заставляют кодера делать множество различных телодвижений и порой вносят изрядное кто-во точек отказа. Тот же пример с сериализацией в php и Java.
Но я к сожалению не уверен, что подобных танцев с бубном не возникнет в новой ОС. К сожалению все на перед продумать не представляется возможным. И плюс к тому же новая ОС она же не будет работать в вакууме и очень может быть, что ей нужно будет коммуницировать с тем же Linux или win. Что в свою очередь заставит плясать местами под подходы принятые в выше указанных ОС.
Относительно фреймворков в вебе… Тут на мой взгляд не совсем с той стороны нужно смотреть.
В вебе за то, что взлетает фреймворк голосуют не конечные пользователи, а разработчики.
А с новой ОС нужно проделать будет не менее титанический труд по созданию комьюнити разработчиков которые начнут использовать данную ОС в своих проектах. И это ещё тот труд и финансовые вложения.
Но в любом случае ребятам респект. Очень интересные концепции реализуют в коде!
Удачи в развитии проекта!