28 марта 2024, 21:07:31

Новости:

Чтобы загрузить изображение нужно нажать кнопку "ПРЕДВАРИТЕЛЬНЫЙ ПРОСМОТР".


Операционная система «Фантом»

Автор holyday, 05 ноября 2010, 23:39:41

0 Пользователей и 1 гость просматривают эту тему.

holyday

Дмитрий Завалишин об операционной системе "Фантом"
В ОС "Фантом", которую разрабатывают в России, нет разницы между запущенными и не запущенными приложениями. Автор "Фантома" уверен, что именно в этом направлении будут развиваться операционные системы.

Очередная утопия? Вовсе нет. Разработчики "Фантома" уже доделывает ядро ОС и экспериментирует с графической оболочкой. Дмитрий Завалишин рассказал нам подробности.

Q: Что такое ОС Фантом? Это клон Windows или ещё раз переупакованный в новую коробку Linux?
A: Ни в коем случае. Наша задача -- не дополнить существующие ОС, которые и без того изрядно тяжеловесны и перегружены, а построить новую платформу.

Q: В чем же интерес или польза от несовместимой ни с чем системы?
A: Вовсе не обязательно быть несовместимым, имея технологическое преимущество. Мы планируем (и начали реализацию) POSIX-подсистемы в рамках Фантом.

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

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

Q: Хорошо, но как именно можно конкурировать с Windows?
A: Как и в любом другом секторе экономики, конкуренция требует умения производить такие же или более хорошие продукты при меньших затратах. В секторе экономики под названием «разработка программного обеспечения» продуктом является прикладное ПО. А операционные системы и языки программирования -- это, своего рода, станки и заводы, предназначенные для производства ПО. «Пользовательская» сторона операционной системы (красота и удобство пользовательского интерфейса) вторична и легко реализуема. Первично и важно сделать такую ОС, на основе которой было бы дёшево и удобно создавать программы. Мы знаем, как её сделать.

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


Q: 400 %? Это нереально!
A: Вполне реально. Прирост производительности разработчиков от простого перехода в разработке ПО с языка программирования C++ на языки Java и C# оценивается экспертами в 500% -- чем, собственно, и объясняется вытеснение первого языка двумя последними в течение достаточно короткого срока.
ЧУШЬ С++ БУДЕТ ЖИТЬ ВЕЧНО (на нём все ОС написаны, в том числе и Фантом) !!! (holyday)

Q: В чём суть этого прироста? Эти языки отличаются очень несущественно! Не может быть!
A: Мы с удовольствием обсудим этот вопрос в кулуарах -- он не пятиминутный. Вкратце -- Java и C# обладают двумя важными свойствами: а) они лишают программиста возможности сделать некоторые чрезвычайно болезненные ошибки, исправление которых часто требовало неадекватного и непредсказуемого времени, и б) они сильно облегчают возможность сборки программы из крупных готовых частей. ОС Фантом в существенной мере развивает этот успех.

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

Q: Это всё -- мелкие программки, не так ли?
A: Так. Но это -- веяние времени. Сегодня удобнее иметь несколько мелких программ, нежели одну крупную -- опять же, это происходит в силу того, что облегчилась возможность совместного использования программ, что, повторимся, экономически обосновано. Создавать мелкие программы -- менее рискованно с точки зрения вложений в бизнес, поэтому несколько небольших продуктов, решающих совместно большую задачу -- это более эффективный экономически подход. Именно поэтому он и превалирует сегодня.

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

Q: Ну и, тем не менее -- получается, что вы не так уж революционны?
A: Было бы глупо надеяться, что мы совсем уж уникальны. Есть ещё два-три человека в мире, способных двигаться не уступая нам. Но -- похожесть Фантома и Microsoft Singularity не означает их идентичности. У нас есть уникальное свойство, которое Microsoft пока не осознал, как существенную ценность, или не умеет реализовать.

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

Q: Но компьютер нужно иногда выключать. Значит, система будет остановлена. А значит -- будут остановлены и все программы, нет?
A: Скажем иначе -- «приостановлены». Для программ остановка системы выглядит как задержка в работе. Примерно как нажатие кнопки «пауза» на DVD. После запуска системы все программы просто «поедут дальше».

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

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

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

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

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

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

Q: Я видел упоминание Фантома в связи с Amazon Cloud services. В чём идея?
A: Amazon Cloud -- среда, предназначенная для запуска «имиджей» операционных систем. Идея её в том, что пользователь по необходимости «оживляет» нужное ему количество экземпляров системы, и пользуется ими. Фантом удобен в этой среде тем, что «оживление» даёт мгновенно готовую к работе среду, тогда как традиционный Linux после такого «оживления» нужно каким-то образом связывать с данными, настраивать, запускать в нём программы. Опять же, поработавший экземпляр Фантома можно «усыпить» целиком в одно движение, тогда как традиционные программы под Linux потребуют специальных и муторных доработок, для того чтобы быть пригодными к «усыплению».

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

Q: Это похоже на...?
A: Это, в зависимости от вашей религии, похоже на Java, Smalltalk, C#, Python, OS/400, iAPX432, Inferno, Grails, Singularity и т.д. и т.п.

По материалам:
1. [Для просмотра ссылки зарегистрируйтесь]
2. [Для просмотра ссылки зарегистрируйтесь]

Бл* буду, но я ЭТО сделаю:
NBPEL: 12 -> 13.5 -> 14.5
BPEL: 14.5 -> 16.5 -> 17.5
EG: 11 -> 12.5 -> 13 -> 13.5

Feles

06 ноября 2010, 06:26:25 #1 Последнее редактирование: 06 ноября 2010, 06:40:14 от Feles
Эм. я, конечно, пиво пью  B) И уже много его  :unsure: Завтра еще почитаю.
Но кагбе с амазоном связи я не очень вижу. Что до амазона, если инстансы не нужны, а нужен, например, эластик мапред, тебе при каждом запуске и выборе инстансов зальются новые образа на них. если за инстансы платишь, там ты ими уже рулишь. Они не оживляются, заливаются образов.  :)
Ну это так, фигня...
Блин не в тему, но все наши разработки почему-то напоминают один диалог не так давно произошедший:
"А вот там у нас МСВС"
"Ы, ядро как дерьмо мамонта, там даже автомаунта нет"
"А что вы там монтировать собрались, пусковую установку?"  :D
Как-то не внушают доверия наши традиционные нано-идеи с двумя ручками для переноски и традиционным квадратно-гнездовым методом реализации B) Однако, будем посмотреть.  B)

Думать надо о том, о чем надо думать, а о том, о чем не надо думать - думать не надо (с) (В.П Макаров)

holyday

Feles
ЦитироватьБлин не в тему, но все наши разработки почему-то напоминают один диалог не так давно произошедший:

Да, есть что-то  :lol:
Как думаешь что-то у них выйдет или как обычно утопия ???

Бл* буду, но я ЭТО сделаю:
NBPEL: 12 -> 13.5 -> 14.5
BPEL: 14.5 -> 16.5 -> 17.5
EG: 11 -> 12.5 -> 13 -> 13.5

Nex_Slash

щяс деньги закончаться - финансировать никто не будет и всё...



По всем вопросам пишите по адресу gratispp@mail.ru