LINUX.ORG.RU

Дмитрий Завалишин рассказал о себе, своих взглядах на софт и, конечно, об ОС «Фантом»

 , ,


1

2

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

Из интересных подробностей:

  • Ядро «Фантома» уже практически готово, частично реализована графическая среда.
  • Под «Фантомом» будет запускаться код, написанный для Unix или Linux, но его придётся модифицировать (к примеру, из-за отсутствия XWindow).
  • Завалишин не любит GPL и считает, что «если уж отдавать, то не ставить условий».
  • Если всё пойдёт по плану, то в «Фантоме» можно будет реализовать интерфейс, где значок программы и её окно - это один и тот же объект, а окна можно будет чуть ли не отправлять по электронной почте.

Тех, кто осилит прочесть все 50 тысяч знаков ждут всякие бонусы в виде баек про времена ЕС ЭВМ и рассказа о том, как в DZ делают системы датчиков для «Мосводоканала».

>>> Интервью



Проверено: anonymous_incognito ()
Последнее исправление: anonymous_incognito (всего исправлений: 1)

Ответ на: комментарий от ahonimous

> «Та среда Linux, которую мы собираемся сделать» - судя по всему, как я и говорил, взят обычный Linux, поставлена Java и поверх нее пишется всякая чушь

Скорее как у бздунов будет: linux.ko + окружение от федорки

simple_best_world_web_master
()

Идея хорошая и правильная, посмотрим, какая реализауия.

ubuntulover
()

> Managed-языки мы напрямую не поддерживаем. Это совершенно не проблема для современной разработки, потому что сейчас всё делается уже на managed-языках

Опечатка? А то здесь какой-то взаимоисключащий параграф.

ubuntulover
()
Ответ на: комментарий от ahonimous

>он взял уже готовые и рабочие linux + jre
и выпустил под LGPL.
челябинские программисты настолько суровые, что пишут опенсорц под EULA.

anonymous
()

вы с ума сошли все ?

>Тут вот какая штука. Дело в том, что в той схеме, в которой работает «Фантом» шрифт - это объект, находящийся в рабочем пространстве системы, на который есть ссылка, во-первых, из каталога, в котором он лежит как видимый пользователю, и, во-вторых, из всех тех мест, которые им пользуются. Поэтому если вы сотрёте, он пропадёт из каталога, но пока им пользуется хоть одна программа, он будет фактически присутствовать. Скажем так, пока он будет присутствовать в документах - он будет существовать. Как только исчезнут все документы, которые им пользуются, он будет автоматически уничтожен.

Другими словами, мне как к примеру дизайнеру, нужно скачать понравившийся шрифт, сделать с ним проект и забыть про него, слил проект, ктрл+дел и все, но шрифт хорош и я хотел бы его оставить, жесть не ? Ставлю игрушку, там есть файлик к примеру end.bik, в игру не играл и до конца не прошел, а сборка мусора этот файлик взяла и потерла к едренефене)))) Если честно, после этой фразы я уже не читал вообще, подобный механизм хранения и «сборки мусора» это уже слишком, работать работай, но только с тем, что я считаю нужным...

Matvey
()
Ответ на: комментарий от ahonimous

> зачем? нормальный человек лучше будет помогать linux, minix, hurd etc., чем начнет писать пятиколесные велосипеды без руля и сидения

А если есть такие концепции, что руль выглядит костылем, а сидение - местом пытки? Может стоит попробовать?

simple_best_world_web_master
()
Ответ на: комментарий от simple_best_world_web_master

ну если разрабы современных ядер и ОС «пытаются» сделать велосипед с мягким седлом и хорошим рулем, то «Фантом» это скорее то, что вы и описали:

А если есть такие концепции, что руль выглядит костылем, а сидение - местом пытки

Matvey
()
Ответ на: комментарий от Yareg

> Или будут некоторые утилиты, которые будут работать вне механизмов защиты?

Просто будет дополнительное API к подсистеме снапшотов

simple_best_world_web_master
()
Ответ на: комментарий от simple_best_world_web_master

> А если есть такие концепции, что руль выглядит костылем, а сидение - местом пытки? Может стоит попробовать?

может, но мне кажется - это не тот случай

ahonimous
()
Ответ на: комментарий от ahonimous

> о, я на третьем курсе такое делал как курсак, при запуске программы с определенным параметром открывался редактор для ее интерфейса, в принципе полезная вещь, но как по мне лучше ее делать как надстройку над другим популярным тулкитом

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

simple_best_world_web_master
()
Ответ на: комментарий от Shimuuar

> То есть все CPU-bound задачи, особенно жадные до памяти идут лесом? А-а-а-атлично

Тогда предвижу костыль в виде независимого режима снапшотов для индивидуальных приложений.

simple_best_world_web_master
()
Ответ на: комментарий от anonymous

>> Если Java сегодня кому-то и сдаёт, то только C#, который

запускается только на Windows и как правило тащит за собой кучу WinApi вызовов, потому что родные библиотеки убоги.

P.S. Моно не предлагать.

На моно реализовано 100% API .NET 2.0, так что не воняй.

ubuntulover
()
Ответ на: комментарий от simple_best_world_web_master

> Настройки внешнего вида - это несколько из другой оперы, не представляет проблем нигде, практически в любом тулките.

как бы я про «живое» перетаскивание/ресайз и «накидывание кнопок» говорил

А вот взять приложение и запустить его в консольке, на экране 320х240 пикселей и на огромной плазменной панеле


решается обычными сайзерами

Еще интереснее, когда одно приложение может представлять из себя кучу вкладок/таблиц/кнопочек, и это же приложение можно запустить в виде многоуровневых меню, хоть на телефоне, хоть на текстовом терминале. Или вообще в вебе


через mvc такое делается просто и быстро - только мышкой потыкать надо, чтоб разные view использовать

И никакой перекомпиляции.


glade, wxXRC etc. - это уже давно есть

ahonimous
()
Ответ на: комментарий от simple_best_world_web_master

> Тогда предвижу костыль

И это только первый

Shimuuar
()
Ответ на: комментарий от simple_best_world_web_master

вакуумно вы мыслите к сожалению, тут не концепцию обсуждают, а реализацию, вы как раз к реализации склоняетесь и возможностям, а на деле в концепции куча изъянов, для начала свой OpenGL xD ну спасибо, я поржал, дальше наверняка будет свой DX CUDA и свои собственные драйвера для видео карт.... заманчиво да ?

не NVidia и AMD придут к фантому, а фантом должен будет клянчить поддержку у них, а нет поддержки видео карт - нет дектоп решений. Про виртуализацию только не надо лечить мне, и про запуск программ в эмуляторах, есть бизнес решения, к примеру, из разряда мс дайнамикс, которые ну никак не будут работать быстрее в фантоме, а уж персонал крупной компании, начиная от продавцев и заканчивая бухгалтерами с аксапты на что-то иное пересаживать это из разряда извращенных самоубийств. Причем в интервью ни слово не было, о уже скомпилированных программах, только о коде, следовательно поддержка вин приложений за бортом или в виртуалке)

Ну и простите, я не верю в альтрустов, которые написали свой ГЛ, своё ядро и хотят это бесплатно распространять.... чота как-то ну никак не вяжетсо ) ну и скриншотик бы тетриса хотябы выложили)))

Matvey
()

>Компилятор вот написал тестовый...

Нахрена???

В современной операционной системе - будь то Unix или Windows, взаимодействие двух программ очень сильно осложнено по массе причин.

Автор ниасилил книжку дядьки Стивенса «UNIX. Взаимодействие процессов»? Лучше него я все равно не напишу, поэтому всем сомневающимся - читать до просветления.

С точки зрения программы, она существует в системе, которая живёт вечно - для неё ничего не меняется.

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

Это совершенно не проблема для современной разработки, потому что сейчас всё делается уже на managed-языках.

Хоть один пример видеоконвертера на жабе или шарпе, тупица.

Собственно, я считаю, что успех Unix как операционной системы связан в первую очередь с тем, что Unix предложил возможность сборки утилит командной строки в «пайпы».

Пайпы и в досе кажется были. Но это ведь не превращает убогою виндовую консоль в баш? И вообще, что бы такое сказать нужно быть в юниксе тотально безграмотным.

С «Фантомом» после сбоя питания и перезапуска система будет иметь то же состояние, и датчики пересчитывать уже не надо.

Как раз после сбоя показания _необходимо_ перечитать заново, поскольку состояние могло измениться не только у сервера. А вообще такие задачи решаются путем установки кластеров, городить новую ось для такой задачи не нужно.

A-234 ★★★★★
()
Ответ на: комментарий от anonymous

>> Бедные винты, интересно за сколько оно убьет SSD?

M$ объявила что в вин 8 будет подобная функциональность.

То что Мак Ось уже 5 лет делает. M$ прогрессирует...

pythonist
()
Ответ на: комментарий от ahonimous

> через mvc такое делается просто и быстро - только мышкой потыкать надо, чтоб разные view использовать

Верно, а теперь возьми 10 разных приложений (любых) и сделай это с ними. Получается? Ах да, авторы подобных извращений обычно не предусматривают...

glade, wxXRC etc. - это уже давно есть

Повторю - не из этой серии мой тулкит, у меня не просто декларативная рисовалка кнопочек, однако возможность рисовать кнопочки у _пользователя_ будет.

simple_best_world_web_master
()
Ответ на: комментарий от simple_best_world_web_master

> Верно, а теперь возьми 10 разных приложений (любых) и сделай это с ними. Получается? Ах да, авторы подобных извращений обычно не предусматривают...

и правильно делают, если что :)

у меня не просто декларативная рисовалка кнопочек


у тебя скорее всего тот самый mvc, только mc «спрятаны», а v - отдан пользователю на растерзание, хотя как по мне пользователям хватит возможности просто переместить/отресайзить готовое, вообще в хорошем гуе не должно быть никакого желания что-то кардинально менять за исключением тулбаров

ahonimous
()

А как хочется верить... Но не получается. Эх... Надоела Вин глючность, Лин-красноглазость, Хакинтош тупит ;) И обои тааакие скучные ;(

antinick
()
Ответ на: комментарий от simple_best_world_web_master

Тороро, у тебя много личин

anonymous
()
Ответ на: комментарий от ahonimous

> и правильно делают, если что :)

А вот не их это дело, как я хочу данные видеть, с какими мешапами мешать и в какие пайпы потом совать. Я не хочу быть пассивным рабом, я хочу как в фильмах - быстро и легко делать с данными что угодно. И ведь реализуемо.

у тебя скорее всего тот самый mvc, только mc «спрятаны», а v - отдан пользователю на растерзание

«у меня» вообще-то тулкит, который только view и обрабатывает, все остальное - не проблемы тулкита

вообще в хорошем гуе не должно быть никакого желания что-то кардинально менять за исключением тулбаров

Дык это если гуй хороший...

Почему я не могу выделить и скопировать текст на произвольном пункте меню, кнопке на форме, табе браузера, тайтле окна? Текст на экране, но я должен его вбивать руками! Или бегать по сотням полей и копировать из каждого индивидуально. Почему ссылки на веб-страницах вызывают какое-то действие внутри страницы (например, раскрывают списки элементов), а кнопки вызывают перезагрузку оной? Должно быть наоборот. Почему шрифт часов в систрее зависит от самого приложения, и если авторы оного не озаботились предоставить настройку, то я так и буду сидеть с дефолтным шрифтом? Почему у меня в систрее иконки, при нажатии на которые открывается попап-меню, если для этого («кликнул - получил список») больше подходят комбобоксы? Почему комбобоксы, предоставляющие выбор элемента из списка, позволяют выбирать только текстовые элементы, но не позволяют картинки или видео? Ну хоть за цвета и иконки спасибо. А как мне выбрать несколько элементов? По 25 раз открывать один список, скроллить его до места, где остановились в прошлый раз, читать названия новых элементов, быть может выбирать, кликать на «add», а потом опять открывать, опять скроллить, опять, опять и опять... Почему я порой созерцаю отключенные элементы на форме, вроде прогресс-баров, которые начинают работать только после начала какого-то процесса? Зачем в окнах статус-бар, если он для этого не используется? И почему я после начала таких «процессов» созерцаю отключенную кнопку «старт»? Ну зачем заменять один отключенный элемент на другой? Почему спинбоксы заставляют меня вводить точное значение с клавиатуры (ибо мышкой задолбишься кликать), хотя я этого значения не знаю? Приходиться сначала ввести 50, потом 500, потом 150, а потом уже мышкой докликивать. Блджад, почему деревья в 2010 году рисуются как в win3.11 (более ранних GUI я не застал, времена msdos не считаем), неужели до скончания веков терпеть эти примитивные списки, которые ни подсветить, ни отсортировать нельзя? Почему в простом приложении из 1 экрана со списком и нескольких кнопнок обязательно будет 100500 маленьких форм, состоящих из нескольких полей ввода вида «поиск по словам», «поиск по полю1», «поиск по полю2», хотя все эти поля уже нарисованы на экране? Или, просматривая какую-то информацию, найдя ошибку (опечатку), ее нельзя исправить сразу, нужно открывать форму для редактирования, скроллить текстбокс до нужного места, только потом исправлять и нажимать кнопку «сохранить»?

simple_best_world_web_master
()
Ответ на: комментарий от tailgunner

> И дать им ножи - для остроты дискуссии.

Они будут очень приникновенно говорить :)

AP ★★★★★
()
Ответ на: комментарий от kim-roader

ЭТО ПРОЩЕ?!!

> На сколько я помню его прошлогодний доклад там всё было ещё проще. Если видяшка потерялась, то операции для работы с ней будут возвращать исключение и программе надо будет создать новый объект для доступа к новой видяшке.

ПРОЩЕ?!!!! Ох ни фига же себе! То есть программа должна быть готова к тому, что ЛЮБАЯ операция с оборудованием может завершиться фейлом по причине замены этого оборудования, уметь переинициализировать сессию обмена данными и повторить все действия для восстановления состояния сесси на момент фейла? Благодарю покорно за такую простоту.

rmammoth
()
Ответ на: комментарий от simple_best_world_web_master

В отличии от прошлых коментов в этой ветке (ваших имеется ввиду) это звучит разумно и довольно интересно

Averrin
()
Ответ на: комментарий от simple_best_world_web_master

> Я не хочу быть пассивным рабом, я хочу как в фильмах - быстро и легко делать с данными что угодно.

от реальности не деться - твой тулкит не станет популярней Qt и GTK( отя бы из-за того, что они устоялись ), а значит прийдется быть пассивным рабом :)

«у меня» вообще-то тулкит, который только view и обрабатывает, все остальное - не проблемы тулкита


а как же пользователь будет подсовывать другой view? тому ж надо что-то отдать, т.е. ты должен определить какую-то базовую модель для программиста

ahonimous
()
Ответ на: комментарий от ArsenShnurkov

Ну да, только там все равно декодирование сишной либой сделано. И потом, я ведь не медиа-плеер просил продемонстрировать, а видеоконвертер, разницу понимаете?

Media features in Silverlight 2 include:[31] WMA Professional support, including WMA 10 Pro low-bitrate modes. However, multi-channel audio content is still down-converted to stereo output. Content protection powered by Microsoft PlayReady DRM client. Server-side playlists in Windows Media Services. Media Stream Source API.

A-234 ★★★★★
()
Ответ на: комментарий от erfea

>прога запросила некислый объем данных у sql сервера, сохранила эти данные в оперативу, в каждой записи скажем заменила матерное слово на «***», далее сдела вернула их назад в бд почистила все из оперативы, это класика отработки программы.

Давно из школы?

anonymous
()
Ответ на: комментарий от A-234

разницу понимаете?


это неважно. тебе для примера нужно найти любой код с интенсивной обработкой данных. в C# есть структуры, которые на стеке, есть pinned-объекты - полно возможностей по работе аналогично C. то, что их еще не написали - вопрос времени.

ArsenShnurkov
()

> Почти все люди в этой стране хоть раз видели икеевскую мебель и хоть раз в жизни собирали её.

Да, Завалишин не в курсе, что «эта страна» простирается далеко за МКАД...

greenman ★★★★★
()
Ответ на: комментарий от A-234

>Но это ведь не превращает убогою виндовую консоль в баш?

пайпы есть, синтаксиса нет - ставим в винду баш и наслаждаемся. Причем тут устройство ОС и IPC?

annulen ★★★★★
()

И зачем нужен этот очередной велосипед?

А вот датчики для мосводканала - вещь полезная. Не зря же за коммунальные услуги платежи постоянно растут!

Bioreactor ★★★★★
()
Ответ на: комментарий от greenman

> Да, Завалишин не в курсе, что «эта страна» простирается далеко за МКАД...

за мкадом жизни нет! Там полный отстой.

Bioreactor ★★★★★
()
Ответ на: комментарий от anonymous

>Можно считать, что C++ сейчас не существует, а Java сегодня - язык номер один.

изучение открытых вакансий показывает, что сейчас (по крайней мере в нашей стране) вполне востребованы оба языка, просто в немного разных нишах

annulen ★★★★★
()

PhantomOS: A Next Generation Grid Operating System

ФантомОС от DZ как-то связана со статьей «PhantomOS: A Next Generation Grid Operating System»? В своем интервью

http://arxiv.org/abs/0707.0762

*
Grid Computing has made substantial advances in the past decade; these are primarily due to the adoption of standardized Grid middleware. However Grid computing has not yet become pervasive because of some barriers that we believe have been caused by the adoption of middleware centric approaches. These barriers include: scant support for major types of applications such as interactive applications; lack of flexible, autonomic and scalable Grid architectures; lack of plug-and-play Grid computing and, most importantly, no straightforward way to setup and administer Grids. PhantomOS is a project which aims to address many of these barriers. Its goal is the creation of a user friendly pervasive Grid computing platform that facilitates the rapid deployment and easy maintenance of Grids whilst providing support for major types of applications on Grids of almost any topology. In this paper we present the detailed system architecture and an overview of its implementation.
*

но судя по содержимому статьи, связи как-то никак не прослеживается ...

anonymous
()
Ответ на: комментарий от simple_best_world_web_master

>Сказано же - ничего пока нету

Чего его так тогда пиарят? :) Сколько времени уже прошло, а всё по-прежнему на бумаге

Gary ★★★★★
()
Ответ на: комментарий от annulen

Востребованы-то, оба востребованы. Однако вопрос в прайсе. Вернее, в его величине.

Приплюснытым платят сущие копейки по сравнению с мегарулезными Java-программистами.

И на возраст для хороших джава-программистов не смотрят. Смотрят на сертификат и разговорный английский (в америкосских компаниях) и реальные знания.

Bioreactor ★★★★★
()
Ответ на: комментарий от Bioreactor

>Приплюснытым платят сущие копейки по сравнению с мегарулезными Java-программистами.

неа, ставки примерно одинаковы

annulen ★★★★★
()
Ответ на: комментарий от ArsenShnurkov

то, что их еще не написали - вопрос времени.

Потому что уже есть готовое, написанное на с. Вот и делают простые обёртки. Ведь начнёшь на чистом с# писать - будут кричать «велосипед!» И будут правы.

Сам же C# по обработке не сильно будет отставать от с, минимум где-то на уровне gcc o1, ящитаю.

В Моно можно задействовать Mono.SIMD, например.

ubuntulover
()

>Завалишин не любит GPL и считает, что «если уж отдавать, то не ставить условий».

во! самая правильная лицензия - bsd

lambrianov
()

«Still it bothers me that complete GC over a few terabytes of disk space can be very time- and io-consuming»

хыхы.

ubuntulover
()
Ответ на: комментарий от r

видеопроигрыватель родил артефакт на экране - решается

форматированием диска:)


Именно. При чем с потерей всех данных при большом артефакте вообщето - что реально заставит благодарных пользователей суперОС посылать автору пожелания ненависти и убиства :) Так как при большом артефакте внутри, у админа-эксплутационщика будет только дамп памяти. При чем не дамп СПЕЦИАЛЬНО сильно упрощенной структуры типа файлухи, а дамп живой много-процессной системы с разбросанными по структуре несериализованными, читай экстремально-эбанитоформатными, данными :):):)

Что интересно патчи линуксядра с сохранением образов процессов гуляют уже давно. Причем как я понимаю этио же можно реализовать preload библиотекой, или линковкой с соотв библиотекой на стадии компиляции.
Но чего то массового внедрения не видно. Хотя в принципе не очень большими изменениями можно добиться того же эффекта персистентности для множества процессов ОС, даже на стандартном ядре. Даже применяют иногда - в кластерах для удобства откладывания задачи. (про сохранении VM целиком я даже не говорю)

kernel ★★☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.