{"id":14285,"url":"\/distributions\/14285\/click?bit=1&hash=346f3dd5dee2d88930b559bfe049bf63f032c3f6597a81b363a99361cc92d37d","title":"\u0421\u0442\u0438\u043f\u0435\u043d\u0434\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0442\u0440\u0430\u0442\u0438\u0442\u044c \u043d\u0430 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u0438\u043b\u0438 \u043f\u0443\u0442\u0435\u0448\u0435\u0441\u0442\u0432\u0438\u044f","buttonText":"","imageUuid":""}

Российскую операционную систему «Фантом» довели до тестирования после 12 лет разработки с нуля Статьи редакции

Система использует необычную архитектуру, не похожую на Windows и Linux.

Система «Фантом» в виртуальной машине QEMU

Основная версия операционной системы «Фантом» готова для пробных проектов, а полноценный релиз запланирован на конец 2022 года. Об этом главный разработчик системы Дмитрий Завалишин сообщил в интервью изданию CNews. Завалишин работает над системой с 2010 года вместе с сотрудниками холдинга DZ Systems, первую компанию которого он основал в 2005 году.

Система «Фантом» отличается от классических Windows, Linux и macOS — она использует персистентную виртуальную память, управляемый код и глобальное адресное пространство.

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

Основная ниша «Фантома» это встраиваемые системы — управление промышленным оборудованием и бытовой техникой, интернет вещей и прочие задачи, где сейчас господствует Linux. DZ Systems работает над переносом «Фантома» на фреймворк Genode — специальную «обвязку» для микроядерных операционных систем, позволяющую запускать обычные Linux-программы. Именно эта версия должна выйти к концу 2022 года.

В дальнейшем Завалишин с коллегами планируют перенести «Фантом» на микроядро seL4, чтобы математическим способом проверить всю систему и доказать отсутствие в ней ошибок и уязвимостей. Это позволит создать основу для построения крайне надёжных и защищённых программных комплексов.

0
348 комментариев
Написать комментарий...
Alexander

Идеи интересные. А что с языками прикладной разработки? Какая-то экзотика нужна чтобы все эти ништяки эффективно использовать? Или православные плюсы подойдут?

Ответить
Развернуть ветку
Ivan Off

Это скорее всего будет закрытая система, для которой будут писать люди без права выезда.

Ответить
Развернуть ветку
Николай Замотаев

Если будет так - будет труп по определению.

Ответить
Развернуть ветку
Ivan Off

Расскажите это тысячам живых программеров, работающих на нашу оборонку... Впрочем, пофик, нет смысла развивать вопрос.

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Ivan Off

Боюсь, что кодят они прямо в подвале ))

Ответить
Развернуть ветку
Николай Замотаев

Ну вот смотрите - пусть я программист, у меня есть выбор - работать с чем-то, что я смогу использовать в дальнейшей карьере или работать с чем-то узко-специализированным, при этом возможности выбора работы и места для жизни у меня будут ограничены.
Выбрать второе (оборонка - практически автоматически - это форма допуска - какая - тут уже будет вопрос), можно только в случае того, что проблемы будут компенсированы. А оборонка - это и не особо высокая зарплата и проблемы и технологические ограничения (потому что это довольно закрытый мир и с технологиями там всё довольно специфично) и много чего ещё.

Так зачем (кроме нездорового патриотизма) мне такое выбирать?

Аналогично с изделиями местной электронной промышленности. Если есть выбор - выбирать будут то, что документировано, имеет открытые спецификации и имеет сообщество разработчиков, а не то, где документацию надо выбивать из производителя, спецификации идут как ДСП, а сообщества нет по определению?

Ответить
Развернуть ветку
Alexander
Так зачем (кроме нездорового патриотизма) мне такое выбирать?

Если бы люди всегда делали рациональный выбор в жизни, мы бы жили в совсем другом мире.

Ответить
Развернуть ветку
Maxim

Как пример можно привести Delphi.

Ответить
Развернуть ветку
Alexander

Я на Делфи пришел году эдак в 2004. Тогда уже в нее все кому не лень кидались какашками, но была работа и я ее делал за достойные деньги. Попрогал несколько лет, потом на плюсы ушёл, потом вообще в веб. Коллеги многие на шарп перешли (это проще всего было). В общем нет никакой проблемы сменить стек.

Ответить
Развернуть ветку
Николай Замотаев

Вот да, стеки-то достаточно похожи.

Ответить
Развернуть ветку
Alexander

не то чтобы похожи, после Делфи на плюсах мозги очень скрипели, но это ж даже полезно.
А шарп просто очень простой язык для понимания. Фреймворк только гигантский (.NET) - но это вопрос доступа к документации всего лишь.

Ответить
Развернуть ветку
Bo.G

А чего там скрипеть то? Парадигмы одинаковы.
А если писал на низком уровне, то там все те же указатели, вызовы системных api, а кое-где и ассемблерные вставки.
Вот если перейти на ассемблер, то да.. там другие принципы мышления нужно включать.

Ответить
Развернуть ветку
Alexander
А если писал на низком уровне

А если не писал? Delphi для прикладного уровня создавался. Писать на Delphi на нижнем уровне - это боль, хотя бы потому что все SDK и документация тех лет давала примеры именно на плюсах.

Парадигмы одинаковы.

ООП? Ну так-то да. И то и то ООП, если в нюансы не вдаваться

А чего там скрипеть то?

Все что пишу - для Delphi7, более поздние версии уже не застал.

1. В Делфи все объекты классов создаются в куче, поэтому будь любезен вызывать конструкторы и деструкторы ручками, не забывать про try...finally везде где объекты создаешь. В плюсах можно в куче, можно на стеке. И на стеке это делается быстрее, поэтому используется гораздо чаще. На стеке деструкторы срабатывают автоматически.

2. В Delphi7 на котором я прогал, отсутствовало в принципе понятие темплейтов, которые в плюсах используются крайне широко. В более поздних версиях, да, появились дженерики.
3. Работа с указателями в D7 - можно сказать экзотика, редкость (на прикладном уровне). В плюсах - это норма жизни хоть в нижнем хоть в прикладном уровнях.
4. В Delphi строгая типизация, в плюсах - нет.
5. Массивы в Delphi нумеруются с 1, в плюсах - с нуля.
6. Компиляция и сборка в Delphi скрыта от типичного разработчика, в плюсах она во-первых в десятки раз медленнее, во-вторых в ней нужно тоже разбираться.
7. В Delphi есть встроенная в язык система сериализации и публикации свойств и методов (published). В плюсах такого нет.
8. В Delphi есть встроенный строковый тип string и функции работы со строками, в C++ - нет, только в библиотеках типа STL, boost, Qt с разными реализациями
UPD:
9. В Delphi нельзя перегружать стандартные бинарные операторы языка, в плюсах - можно и используется сплошь и рядом
10. В Delphi не было таких функций как ++, —, +=, -= и прочих.

Это только то что я вспомнил, уже лет 13 не открывал Delphi и лет 8 - C++.

Ответить
Развернуть ветку
Николай Замотаев

А что Delphi? Он до сих пор жив, в той или иной форме. Довольно удобная среда была по своему времени.

Ответить
Развернуть ветку
Maxim

Вот именно, "была". Много кто из молодых специалистов хочет работать с Delphi? Много ли вакансий? Какие у человека будут перспективы?

Ответить
Развернуть ветку
Николай Замотаев

Не знаю, я лет 15 не писал на нём.

Ответить
Развернуть ветку
Bo.G

"Молодые специалисты" сейчас пересели на модные "фреймворки" и ничего не хотят ни видеть ни слышать.
Как и почему работает железо и как это влияет на производительность и т.д. и т.п.
одни сплошь птичьи языки.

Ответить
Развернуть ветку
345 комментариев
Раскрывать всегда