Россия, г. Москва +7 (926) 233-46-64 alex@harlamenkov.ru

Русская операционная система. Новый не умирающий код

Q: Что такое ОС Фантом? Это клон Windows или ещё раз переупакованный в новую коробку Linux?

A: Ни в коем случае. Наша задача — не дополнить существующие ОС, которые и без того изрядно тяжеловесны и перегружены, а построить новую платформу.


Q: В чем же интерес или польза от несовместимой ни с чем системы?

A: Вовсе не обязательно быть несовместимым, имея технологическое преимущество. Мы реализовали POSIX-подсистему в рамках Фантом. Конечно, не все возможности ОС Фантом доступны из POSIX-подсистемы, но мы работаем над этим.

Q: Вы собираетесь конкурировать с Windows? Это несерьёзно и нереально!

A: Существует несколько примеров более-менее удачной конкуренции с Windows. Наиболее известные ОС широкого профиля — MacOS и Linux. Менее известные и нишевые — PalmOS и Symbian. Отметим, что все эти системы (за исключением, пожалуй, MacOS) были созданы при достаточно умеренных вложениях.

Q: Но MacOS-то обошлась в огромные деньги?

A: Отчасти. Если смотреть на весь путь её развития — то да. Но, фактически, десятая версия MacOS (та, которая используется сейчас) написана заново в течение довольно короткого времени. Эта система, как и Linux, эффективно использовала потенциал Open Source сообщества и обошлась в довольно обозримые деньги. Во всяком случае, не самая крупная на свете компания Apple в не самые лучшие свои годы смогла эти деньги проинвестировать.

Q: Насколько дешевле будет производить программы на основе ОС Фантом?

A: Мы предполагаем, как минимум, 30% прирост производительности труда разработчика. Это — консервативная оценка. Суммарный эффект может дать 200—400% прирост.

Q: 400 %? Это нереально!

A: Вполне реально. Прирост производительности разработчиков от простого перехода в разработке ПО с языка программирования C++ на языки Java и C# оценивается экспертами в 500% — чем, собственно, и объясняется вытеснение первого языка двумя последними в течение достаточно короткого срока.

Q: Но ведь для новой системы потребуются новые программы — сколь огромные силы будут нужны для их создания?

A: Существенное количество программ не потребуется создавать заново — лишь перенести из старых систем. Кроме того, позвольте обратить ваше внимание на такое явление, как iPhone. Он создан на основе весьма специфичной системы (модифицированный MacOS), все программы для которой были созданы с нуля — даже простой перенос программы из другой ОС невозможен ввиду очень необычного подхода к построению интерфейса пользователя. Всего лишь за полтора года существования iPhone было разработано более 225 000 программ для iPhone.

Q: Фантом похож на Microsoft Singularity.

A: Первая информация о Фантоме была выложена в Сеть в 1998-м году. Описание концепции Фантом было отправлено в Microsoft за пару лет до объявления Singularity. Извините уж, но, скорее, это Microsoft Singularity похожа на Фантом.

Q: Каково же уникальное свойство ОС Фантом?

A: Говоря попросту — бессмертие. В отличие от всех существующих систем Фантом умеет обеспечить работающим в нём программам вечную жизнь. Для программ не существует необходимости завершаться. Это довольно сильно меняет ситуацию. Во-первых, это удобно — пользователь не должен перед выключением машины закрывать все программы и снова открывать их перед началом работы. Во-вторых, это позволяет программам быть сильно проще — например, программа больше не вынуждена вообще уметь записывать своё состояние в файл! Одно лишь это упрощение снижает затраты денег и времен на те самые 30%. А есть и другие.

Q: Но компьютер нужно иногда выключать. Значит, система будет остановлена. А значит — будут остановлены и все программы, нет?

A: Скажем иначе — «приостановлены». Для программ остановка системы выглядит как задержка в работе. Примерно как нажатие кнопки «пауза» на DVD. После запуска системы все программы просто «поедут дальше».

Q: Это должно требовать огромных ресурсов? Ведь система вынуждена постоянно «фотографировать» себя?

A: Основное know how Фантома состоит именно в умении дёшево создавать мгновенные снимки состояния системы, не останавливая её и не внося серьёзных возмущений в работу. Тонкость в том, что «фотографирование» должно запечатлеть всю систему на один момент времени — без исключений. До сих пор считалось, что это требует паузы в работе всех программ. Мы нашли способ распределить во времени создание такой «фотографии», при этом оставив её синхронной с точки зрения «внутренностей» системы.

Q: А нужно ли это? Может, по старинке?

A: Нужно. Это даёт несколько весьма существенных преимуществ. Важнейшее из них — это весьма существенное удешевление разработки ПО. Если оно ещё не впечатлило Вас, я попробую привести весьма простой пример. Представьте себе, что вы научились делать автомобили на 30% дешевле, чем это умеет делать Toyota или Audi. А ведь рынок ПО недалёк по масштабу от рынка автомобилей: только коробочного ПО в России в 2007 продано на 2,7 млрд долл. Это без учёта услуг и разработки заказного ПО.

Q: На какие области вы полагаете ориентировать Фантом?

A: Это — система широкого профиля. Технически она пригодна для всех известных применений — десктоп, мобильные устройства, серверные приложения, специальные (встроенные) системы. Но есть направления, где Фантом может проявить себя весьма ярко. Например, медицина и военная техника. В качестве стартового поля для Фантома мы рассматриваем встроенные применения, из которых самые важные, как нам кажется — это ОС для автомобиля и… телевизора. Эти области давно и успешно обслуживаются Linux-ом (то есть, существует достаточное количество переносимого софта) и сильно выигрывают от другого важного свойства ОС Фантом — способности мгновенно стартовать в полностью рабочем состоянии.

Q: Что такого важного в Фантоме для медицины и войны?

A: Фантом, в силу своей концептуальной простоты, не только не теряет состояние программы при внезапном выключении компьютера, но и чрезвычайно быстро восстанавливается при запуске. При условии тщательной реализации система может восстановиться буквально за единицы секунд, а при условии компактности прикладной программы — и быстрее. Давайте представим себе стоящий у постели реанимационного больного компьютер, который управляет системами жизнеобеспечения. Неважно, из-за чего он может вдруг оказаться выключенным — из-за уборщицы с тряпкой, или из-за частичного отказа системы резервирования питания — но отрицать возможность его отключения на несколько секунд нельзя. Обычная операционная система в таких условиях вряд ли оставит пациенту шанс выжить — загрузка, проверка дисков, запуск программ — увы, это может занять минуты! В то же время Фантом «рождается во взрослом состоянии» — непосредственно в момент запуска он уже ровно таков, каков был в момент останова. Все программы сразу запущены, настроены и работают. Теперь перейдём на подводную лодку. Представим себе, что она попала в сложную ситуацию, и электричество на борту отключилось в силу неполадки. Неполадка быстро устранена командой, но лодка всё ещё мертва: компьютеры перезагружаются. В боевой ситуации несколько лишних десятков секунд могут стоить жизни всей команде.

Q: Ну — хорошо, всё понятно с войной и медиками, но где польза от Фантома на серверах?

A: Не забываем про дешевизну разработки — серверные приложения традиционно недёшевы. Но и кроме этого Фантому есть, что предложить. Фантом — система без переключений контекста между ядром и приложением. Обычная система имеет два режима — «всемогущий» режим, в котором работает ядро, и «прикладной» режим, в котором работают приложения. На этом основаны классические системы защиты в системах типа Unix/Linux и Windows. Переключения между режимами весьма дорогостоящи и снижают производительность прикладного ПО. Особенно сильно это проявляется в серверных приложениях. Защита в Фантоме построена по менее затратной технологии, и переключения режимов («колец защиты») не требуются.

Q: В каком состоянии находится проект сейчас?

A: Мы имеем систему, способную загружаться на эмуляторе компьютера и на реальном компьютере (ia32), запускать прикладные программы, завершать работу штатным образом с сохранением состояния, запускаться с восстановлением сохранённого состояния. Существуют средства кросс-разработки (компилятор и среда исполнения программ под управлением Windows/Linux). В настоящий момент в работе сохранение состояния при нештатном отключении. Следующие задачи — реализация базового графического интерфейса и минимального интерфейса пользователя.

Q: А что с переносом на другие платформы?

 

Читать больше на сайте

Алексей Евгеньевич Харламенков