Автор Тема: IT и все, все, все (Про компьютеры, компьютерщиков и прочее... разрыв мозга)  (Прочитано 93182 раз)

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

Оффлайн Montmorency

  • Full Member
  • ***
  • Сообщений: 204
P.S. если что, то как раз ФП я в данный момент занимаюсь очень плотно.

fox

  • Гость
Монти, ты с Plan9 дело имел?
Нет, research в области операционных систем я не занимаюсь.
Это единственная причина по которой с этой системой можно иметь дело - т.к. она создана исключительно для этого. Не для того, чтобы когда-нибудь стать реальной системой.
Если склероз не изменяет.
Bell Labs делали ее под себя.
Еще и Inferno в придачу.
И там она вполне работает.
Так, что Plan9 конечно же не ОС общего потребления.
Но и не развлекалово програмеров затейников.
А вот некоторые возможности, которые заложены.
Действительно впечатляют.

Оффлайн Voltmeter

  • Moderator
  • Hero Member
  • *****
  • Сообщений: 3547
. . .
Вообще файрфокс весь такой - разработчики скупы на треды, поэтому отклик интерфейса ужасный. Я уже привык печатать дважды в слепую - когда я не только  не смотрю на клавиатуру, но и когда то что я печатаю не отображается на экране(отображается позже).

Ооооо, знакомые люди заходят на огонёк. Здравствуйте Монморенси !!!
"Свободен лишь тот, кто потерял все, ради чего стоит жить." Э. Ремарк

Оффлайн Voltmeter

  • Moderator
  • Hero Member
  • *****
  • Сообщений: 3547
Вообще браузеры же превращаются в подобие ОС.

С ажно двумя виртуальными машинами - JavaScript и Flash.

Первую можно выбирать, вторая -  одна и проприетарная. Что рождает очевидные проблемы, и из-за чего, я думаю, её и выпилят рано или поздно(Google и прочие усиленно ищут способ как - html5, svg, js, ...).

JavaScript кстати дал работу всем специалистам по компиляции в мире. Многие, кто раньше занимались компиляцией Scheme, теперь переключились на JavaScript. Видя, сколько прекрасных умов подключилось к этим задачам могу предположить, что совсем-совсем скоро виртуальная машина для JavaScript станет настолько хорошей, что будет широко использоваться отдельно от браузера - ибо будет по качеству лучше чем CPython, например(притом что сам язык вообще-то гораздо хуже). Вроде бы даже Gnome3.0 будет содержать в себе компоненты на javascript.

После этого браузеры сольются с ОС. Потому, что все ОС развиваются по идеям обозначенных в Plan9 и прочих экспериментальных ОС - "нет разницы между локальным ресурсом и удалённым" и "нет разницы между локальным приложением и сетевым". Я бы ещё добавил мульти-машинность, как естественное продолжение многопроцессорности. И базу данных вместо ФС.

... и всё это вшить прямо в МОСК, можно неслабо сэкономить на дисплеях и клавах  :biggrin:
"Свободен лишь тот, кто потерял все, ради чего стоит жить." Э. Ремарк

Оффлайн Voltmeter

  • Moderator
  • Hero Member
  • *****
  • Сообщений: 3547
Господа, накидайте "плюсов" и "минусов" для тех VCS, которыми сами пользуетесь, только пожалуйста
ваши личные соображения с жизненных позиций и не по два слова, типа:
"git - рулез ибо Торвальдс, cvs - отстой, ибо даже Торвальдс ниасилил в нём слияние веток".

Какую VCS вы сейчас пользуете, для каких проектов ( только для сорцов, только для бинарных файлов ),
сколько человек работают над проектами, как организована работа с ветками - всё валится в HEAD ( Trunk ),
или все обязаны даже для небольших изменений создавать новую ветку, как обстоят дела со скоростью
работы, надёжность, бэкапы и всё что сочтёте важным.
« Последнее редактирование: Среда 21 Июля 2010 02:55:44 от Voltmeter »
"Свободен лишь тот, кто потерял все, ради чего стоит жить." Э. Ремарк

Оффлайн Voltmeter

  • Moderator
  • Hero Member
  • *****
  • Сообщений: 3547
Chromium наше будущее ???
« Ответ #35 : Среда 21 Июля 2010 03:06:05 »
Решил забить временно на ФФ, замучил он меня своими тормозами  :diablo: ( предвосхищая вопросы - из плагинов только AdBlock+ )

Поставил Хромиум из сюзевских репов, который день ненарадуюсь...  :good:

"+":

- быстро стартует сам
- быстро открывает страницы
- быстрый отклик на ввод ( клава, мышь )


"-":

- непривычный интерфейс
- нет панели закладок слева ( напрягает )
« Последнее редактирование: Среда 21 Июля 2010 03:07:36 от Voltmeter »
"Свободен лишь тот, кто потерял все, ради чего стоит жить." Э. Ремарк

Оффлайн Montmorency

  • Full Member
  • ***
  • Сообщений: 204
Господа, накидайте "плюсов" и "минусов" для тех VCS, которыми сами пользуетесь, только пожалуйста
ваши личные соображения с жизненных позиций и не по два слова, типа:
"git - рулез ибо Торвальдс, cvs - отстой, ибо даже Торвальдс ниасилил в нём слияние веток".

Какую VCS вы сейчас пользуете, для каких проектов ( только для сорцов, только для бинарных файлов ),
сколько человек работают над проектами, как организована работа с ветками - всё валится в HEAD ( Trunk ),
или все обязаны даже для небольших изменений создавать новую ветку, как обстоят дела со скоростью
работы, надёжность, бэкапы и всё что сочтёте важным.
Подобно антагонизму Vim и  Emacs, есть антагонизм git и bazaar.

git использует Торвальдс, bazaar - GNU и lauchpad.

Я использую bazaar т.к. пишу один проект для GNU на launchpad(какой не скажу, а то моё реальное имя в исходниках найдёте).

Выбирать не пришлось - какую систему ребята выше используют, такую ты и берёшь.
От VCS зависит по сути одна вещь - покупать чай в пакетиках или на развес.
Если VCS сделана нормально и работает быстро - то в пакетиках.
Если кривая и тормозная - то чай заваривать нужно по всем правилам - прополоскать чайник, засыпать заварку, сходить поискать сладости\фрукты, и.т.д.

Оффлайн Montmorency

  • Full Member
  • ***
  • Сообщений: 204
Re: Chromium наше будущее ???
« Ответ #37 : Среда 21 Июля 2010 05:59:07 »
- быстро открывает страницы
- быстрый отклик на ввод ( клава, мышь )
Инновация Хрома была как раз в новой модели тредов\процессов.

Преимущество старта from scratch(ну не совсем from scratch, webkit уже был).

Но это даёт лишь фору в начале, через несколько лет они попадут в тот же дедлок в котором обычно находятся все проекты: "переделать очень трудно, переписать с нуля не легче".

fox

  • Гость
Вот жду когда Гугле Гаджет Едитор.
Заработает нормально в Гугле Хроме (Хромиуме).
<?xmlversion="1.0" encoding="UTF-8"?>
<Module>
:biggrin:
И шо обидно.
Не исправишь.
А в Опере все ок.

Оффлайн Montmorency

  • Full Member
  • ***
  • Сообщений: 204
Вот жду когда Гугле Гаджет Едитор.
Заработает нормально в Гугле Хроме (Хромиуме).
<?xmlversion="1.0" encoding="UTF-8"?>
<Module>
:biggrin:
И шо обидно.
Не исправишь.
А в Опере все ок.
И в чём дело? Проблема с парсером? Какая?

Оффлайн Рудый

  • Hero Member
  • *****
  • Сообщений: 769
  • личный медвед Королевы
Re: Мicrosort распространяет клевету о Linux
« Ответ #40 : Среда 21 Июля 2010 10:57:59 »
Мicrosort распространяет клевету о Linux
Так, например, в недавнем (январь 2010 года) обсуждении вопросов надежности Linux-систем приводится ссылка на статью 2001 года, где утверждается, что «cбoй питaния мoжeт пpивecти к paзpyшeнию фaйлoвoй cиcтeмы, пoлнoй нepaбoтocпocoбнocти oпepaциoнки и пoтepe дaнныx».
Инициаторы этой затеи заботливо собирают всю информацию, которую можно подать в виде негативных выводов о свободном и открытом ПО, после чего «обрабатывают» каждого комментатора в своем и других сообществах крупнейшей русскоязычной социальной сети. При этом на просторах других групп , где обсуждается свободное ПО о таких провокаторах почти ничего не слышно.

Кстати, именно это у мя произошло с Виндами совсем недавно)) сбой питания - и система перестала грузиться из-за ошибки файловой системы. Так что ... на ком-то горит шапка. Синим пламенем.
..я снова здесь и в бархатных штанах..

Оффлайн Montmorency

  • Full Member
  • ***
  • Сообщений: 204
Re: Мicrosort распространяет клевету о Linux
« Ответ #41 : Среда 21 Июля 2010 11:26:34 »
Кстати, именно это у мя произошло с Виндами совсем недавно)) сбой питания - и система перестала грузиться из-за ошибки файловой системы. Так что ... на ком-то горит шапка. Синим пламенем.
И что, никакой checkfs не помог?

На самом деле "сбой питания" - это ад для создателей файловых систем, для линукса, для винды, свободных, проприетарных - не имеет значения, проблема одинаково трудная везде.
Разработчиков можно понять - попробуйте написать предложение так, чтобы будучи оборваным на любом знаке оно не теряло\не меняло своего смысла. И при этом ещё чтобы эта фраза сама по себе оставалась эффективной - т.е. передавала бы мысль в понятном виде, с минимальным оверхедом.

Проще на самом деле сделать жёсткий диск с аккумулятором.

fox

  • Гость
И в чём дело? Проблема с парсером? Какая?
Так та самая которую и следовало ожидать
Ошибка при разборе спецификации модуля:
строка 1, столбец 38

  <?xmlversion="1.0" encoding="UTF-8"?>

Ошибка разбора XML:
ParsePI: PI xmlversion space expected
В ФФ и Опере все ок. ;)

Оффлайн a_s_pavlov

  • Hero Member
  • *****
  • Сообщений: 12491
(какой не скажу, а то моё реальное имя в исходниках найдёте).


Билли, ну откуда нам взять исходники Виндоус?

P.S А  это правда, что произнесение  твоего истинного имени задом наперед  изгоняет все глюки из компьютера и направляет их  на машины злейших конкурентов?

Оффлайн Voltmeter

  • Moderator
  • Hero Member
  • *****
  • Сообщений: 3547
(какой не скажу, а то моё реальное имя в исходниках найдёте).


Билли, ну откуда нам взять исходники Виндоус?

P.S А  это правда, что произнесение  твоего истинного имени задом наперед  изгоняет все глюки из компьютера и направляет их  на машины злейших конкурентов?

 :rofl:
"Свободен лишь тот, кто потерял все, ради чего стоит жить." Э. Ремарк

Оффлайн piwasikas

  • Hero Member
  • *****
  • Сообщений: 8159
  • ☭ girmek yasaktir! ☭
Набираем в адресной строке about:config

В строке "Фильтр" набираем -
network.http.pipelining
если стоит true замечательно.
Если стоит false щелкаем получаем true

network.http.proxy.pipelining
проделываем тоже самое.

network.http.pipelining.maxrequests
Ставим цифру 5

network.http.max-connections
Можно смело (в ФФ 3.5 и выше) ставить 30.

Теперь память которую ФФ любит кушать.
browser.sessionhistory.max_total_viewers

понятно, что мак по-другому устроен..у меня только 3 позиции, переделал по совету foxa. а может не надо было?
( зы. задолбало safari к чертям)

NO GODS, NO MASTERS
AGAINST ALL AUTHORITIES

fox

  • Гость
понятно, что мак по-другому устроен..у меня только 3 позиции, переделал по совету foxa. а может не надо было?
( зы. задолбало safari к чертям)
Это не мак по другому устроен.
Версия ФФ какая?
Может просто не нашел?
Можно поискать по первому слову.
Там список будет больше.

З.Ы. Самое главное. Прирост заметен?

Оффлайн piwasikas

  • Hero Member
  • *****
  • Сообщений: 8159
  • ☭ girmek yasaktir! ☭
Версия ФФ какая?
Может просто не нашел?
Можно поискать по первому слову.
Там список будет больше.

З.Ы. Самое главное. Прирост заметен?
1. 3.6.7
2. чито не нашель? по плану деляль, насяльника
3.т/е в строке filter вбить <network>?

ps. х/з. так как сразу после установки фф и настраивал))

NO GODS, NO MASTERS
AGAINST ALL AUTHORITIES

fox

  • Гость
3.т/е в строке filter вбить <network>?
Догадался. :biggrin:
Там поглядеть.
Иной раз фильтр по полному значению дуркует.
Версия у тебя - свежак.
Все параметры должны присутствовать.

Оффлайн piwasikas

  • Hero Member
  • *****
  • Сообщений: 8159
  • ☭ girmek yasaktir! ☭
докладываю.
в результате вбивания <network> proxy pipelining обнаружен
browser sessionhistory х.. там

NO GODS, NO MASTERS
AGAINST ALL AUTHORITIES

Оффлайн Voltmeter

  • Moderator
  • Hero Member
  • *****
  • Сообщений: 3547
Эсперты считают нецелесообразным внедрение СПО в школах
« Ответ #50 : Понедельник 26 Июля 2010 02:00:41 »
Эсперты считают нецелесообразным внедрение СПО в школах

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

К недостаткам СПО эксперты отнесли:

* Сложность в инсталляции и настройке ОС
* Потребность в помощи технических специалистов
* Проблемы с подключением ПФУ
* Некорректная работа ряда программ под ОС Linux
* Отсутствие методической поддержки
* Рекомендованные учебники и учебные планы не коррелируют с интерфейсом ОС Linux
* Проблема с открытием документов Microsoft Office
* Необходимость повышения квалификации преподавателей

Источник: СекЛаб.Ру





Достоинств не найдено, вот так вот... :mega_shok:
"Свободен лишь тот, кто потерял все, ради чего стоит жить." Э. Ремарк

Оффлайн Voltmeter

  • Moderator
  • Hero Member
  • *****
  • Сообщений: 3547
Microsoft выпустила новую бета-версию защитного продукта Security Essentials

Microsoft сегодня выпустила новую бета-версию бесплатного программного обеспечения Security Essentials, предназначенного для защиты от вредоносных программ. Новая версия обзавелась более компактным антивирусом и антишпионским модулем для защиты от сетевых атак.

Что касается сетевой подсистемы продукта, то она имеет две части. Теперь Microsoft Security Essentials интегрирован с Internet Explorer для лучшей защиты от сетевых атак. Также был сохранен и классический модуль защиты. Говоря о новом модуле, следует отметить, что он позволяет блокировать злонамеренные программы еще на этапе их начального попадания в систему, тогда как раньше обнаружить зловреда можно было только во время сканирования кеша браузера. Иногда такой метод обнаружения уже слишком запоздалый, так как вредоносный код к тому моменту уже может похитить данные.

Для пользователей Windows Vista и Windows 7, Security Essentials позволяет осуществлять защиту компьютера и от известных системных и прикладных эксплоитов. Эта возможность не работает в Windows XP,  так как она полагается на подсистему Windows Filtering Platform, которой в XP просто нет, она появилась начиная с Vista. Данная возможность позволяет защищать систему на уровне более высоком, чем Windows Firewall.

Бета-версия системы сейчас доступна в Microsoft Connect. В корпорации говорят, что официально новинку могут скачать только пользователи из США, Израиля, Бразилии и Китая. Однако в сети есть масса зеркал, где пользователи из других стран также могут получить доступ к файлам. Кроме того, обновиться до новой версии могут и те, кто установил более ранние варианты разработки.

Напомним, что Security Essentials стал популярным благодаря низкому потреблению ресурсов в системе, бесплатности и поддержке базовых элементов защиты.

Источник: CyberSecurity.RU



"Свободен лишь тот, кто потерял все, ради чего стоит жить." Э. Ремарк

Оффлайн Voltmeter

  • Moderator
  • Hero Member
  • *****
  • Сообщений: 3547
Компания Google почти в три раза увеличила выплаты за критические уязвимости, найденные в браузере Google Chrome.

Максимальная сумма вознаграждения за нахождение критических уязвимостей в браузере Chrome увеличена до 3133 долларов. В то же время базовая оплата за менее серьезные уязвимости остается $500.

Напомним, что программу премирования Google ввела в январе 2010 года. За обнаруженные уязвимости компания выплачивала по $500. Если выявленный баг был достаточно серьезным, сумма вознаграждения увеличивалась до $1337.

На сегодняшний день компания Google осуществила выплаты десяти пользователям за 22 найденных бага. За полгода вознаграждение в $1337 досталось лишь одному человеку - Сергей Глазунову. Премию в $1000 Google выплачивала шесть раз, по $500 получили уже 15 человек.

Источник:
СекЛаб.Ру
"Свободен лишь тот, кто потерял все, ради чего стоит жить." Э. Ремарк

Оффлайн Voltmeter

  • Moderator
  • Hero Member
  • *****
  • Сообщений: 3547
Свободных IP адресов осталось на 343 дня
« Ответ #53 : Понедельник 26 Июля 2010 02:13:13 »
Американские ученые подсчитали, что при нынешних темпах роста Сети оставшихся незанятыми IP-адресов хватит на 343 дня.

Незанятые IP-адреса в рамках протокола IPv4 кончатся менее чем через год, сообщает Read Write Web со ссылкой на слова Джона Куррана (John Curran), президента и исполнительного директора Американского реестра интернет-адресов (ARIN).

В IPv4, наиболее широко применяемом IP-протоколе в современном Интернете, используются 32-битные адреса. Это значит, что всего в рамках данного протокола можно создать чуть больше 4 млрд IP-адресов.

По данным Куррана, сейчас незанятыми остаются около 234 млн адресов, то есть менее 6% от общего адресного пространства. Этого запаса, по его расчетам, хватит примерно на 343 дня. Слова Куррана подтвердил Винтон Серф (Vinton Cerf), глава комитета по разработке и внедрению интернационализованных доменных имен и один из «евангелистов» Google.

Запасы IP-адресов, пишет Read Write Web, стремительно подходят к концу из-за резкого роста объема данных, которыми пользователи обмениваются через Интернет, а также из-за увеличения количества устройств с подключением к Сети.

Это значит, что провайдерам и телекоммуникационным компаниям в ближайшем будущем придется изыскать альтернативные решения — например, перейти на протокол IPv6, в котором используются 126-битные адреса, или же применить технологию NAT (Network Address Translation), которая позволяет соотнести несколько адресов с одним IP-адресом.

Источник: РуФорматор.РУ
"Свободен лишь тот, кто потерял все, ради чего стоит жить." Э. Ремарк

Оффлайн Voltmeter

  • Moderator
  • Hero Member
  • *****
  • Сообщений: 3547
Первый сервис-пак для Windows 7 выйдет в 2011 году
« Ответ #54 : Понедельник 26 Июля 2010 02:17:02 »
Первый сервис-пак для Windows 7 выйдет в 2011 году

Microsoft сообщает о том, что финальная версия первого пакета обновлений для операционной системы Windows 7 выйдет не позднее второго квартала 2011 года.

В состав комплексного набора апдейтов Service Pack 1 (SP1) войдут главным образом исправления ошибок и «заплатки» для уязвимостей, выявленных с момента анонса платформы в октябре прошлого года. Сервис-пак, в частности, будет содержать все патчи, доступные сейчас через сервисы обновлений корпорации, и будущие обновления.

«Майкрософт» также планирует включить в SP1 несколько изменений, разработанных с учётом пожеланий потребителей и партнёров. А вот каких-то фундаментальных новшеств сервис-пак содержать не будет.

Уже сейчас желающие могут загрузить бета-версию пакета SP1 для Windows 7, вышедшую на прошлой неделе.

Финальный релиз сервис-пака запланирован на первую половину следующего года. Примерно в эти же сроки увидит свет сервис-пак для серверной платформы Windows Server 2008 R2, в котором в числе прочего, по словам разработчиков, будут улучшены инструменты виртуализации.

Источник: Компьюлента.РУ
"Свободен лишь тот, кто потерял все, ради чего стоит жить." Э. Ремарк

Оффлайн Voltmeter

  • Moderator
  • Hero Member
  • *****
  • Сообщений: 3547
Александр Матросов (ESET) о вирусе Win32/Stuxnet

Вирус Win32/Stuxnet интересен, прежде всего, своим механизмом распространения, использующим уязвимость в операционных системах Windows: специально сформированный "ярлык" позволяет запустить вредоносный код при попытке системы отобразить его иконку. Корпорация Microsoft признает наличие бреши в защите и обещает закрыть её в августе. Win32/Stuxnet определяется популярными антивирусными программами, но активное обсуждение проблемы началось только после пресс-релиза ESET. На вопросы "Компьютерры" относительно этой ситуации отвечает Александр Матросов, руководитель Центра вирусных исследований и аналитики российского представительства компании.

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

- Динамика проникновения Win32/Stuxnet достаточно высока из-за особенностей его распространения с использованием USB-накопителей, а также ранее неизвестной уязвимости, обеспечивающей автозапуск вредоносного кода. Каждый день мы наблюдаем увеличение числа заражённых компьютеров примерно на треть от предыдущего показателя. Такое активное распространение ещё связано с тем, что стали появляться вредоносные программы, не имеющие отношение к Win32/Stuxnet, но использующие аналогичную уязвимость для своего распространения. Этот факт заставил нас выделить в отдельный класс LNK/Autostart вредоносные программы, эксплуатирующие CVE-2010-2568.

- Win32/Stuxnet распространяется через локальные носители. Каким образом вирусу удалось заразить значительное число машин?

- В процессе анализа мы не выявили другого функционала, отвечающего за распространение вредоносной программы, кроме заражения при помощи USB-накопителей. На данный момент речь идёт не об эпидемии, но в некоторых странах, таких как США и Иран, активность Win32/Stuxnet на порядки превышает активность в других регионах. Это может быть связано с тем, что вредоносная программа начала своё распространение именно там и попросту вышла из-под контроля злоумышленников, поскольку использовала довольно эффективный способ распространения. Опасность Win32/Stuxnet представляет в первую очередь для крупных промышленных предприятий, которые используют системы SCADA, а не для домашних пользователей.

- Как вирус попадает в защищенные промышленные сети, которые обычно изолированы от внешнего мира?

- Именно поэтому злоумышленники использовали способ распространения угрозы через USB-накопители, а также уязвимость, которая работает на всех ОС компании Microsoft. В процессе анализа Win32/Stuxnet нами был обнаружен функционал, отвечающий за проверку работоспособности интернет-соединения и отправку данных на заранее определённые адреса.

- Сколько промышленных систем поразил Win32/Stuxnet?

- Обнаруженные факты заражения касаются не только пользовательских машин, но и весьма крупных компаний, разглашать информацию о которых мы просто не имеем права.

- Каким образом цифровые подписи компании могли быть скомпрометированы?

- Возможно, дело в инсайдере, который имел отношение к преступной группе, разработавшей этот вирус. Кроме того, можно говорить об отдельной группе злоумышленников, занимающейся непосредственно вопросами подписания вредоносного ПО, у которой этот процесс поставлен на поток. Сейчас все говорят о подписи, отождествленной только с компанией Realtek, но на днях нами были обнаружены компоненты Win32/Stuxnet, якобы подписанные фирмой JMicron. Кстати, обе эти компании имеют офисы в Hsinchu Science Park (Тайвань). Программы, имеющие цифровую подпись уважаемых компаний, во многих HIPS системах считаются заведомо не вредоносными, что позволяет им беспрепятственно обходить защиту. Этот инцидент заставит многих вендоров пересмотреть свое отношение к белым спискам, основанным на доверии к подписанному ПО.

- Насколько вирус опасен для обычных пользователей?

- Win32/Stuxnet преследует определенные цели, не связанные с домашними пользователями. Однако пользователь может принести эту инфекцию к себе на предприятие. Наибольшую опасность представляет тот способ заражения, который Win32/Stuxnet открыл миру, так как уже появились публичные эксплойты, использующие ту же уязвимость.

- Способно ли современное антивирусное ПО надежно защитить пользователя?

- Наши продукты с первых дней обнаруживают этот вектор заражения. Поскольку сигнатуры Win32/Stuxnet занесены в антивирусные базы, ESET NOD32 защищает пользователей от этой угрозы.

Автор: Крестников Евгений


Источник: Сomputerra.ru
« Последнее редактирование: Понедельник 26 Июля 2010 02:23:01 от Voltmeter »
"Свободен лишь тот, кто потерял все, ради чего стоит жить." Э. Ремарк

Оффлайн a_s_pavlov

  • Hero Member
  • *****
  • Сообщений: 12491
Цитировать
- Каким образом цифровые подписи компании могли быть скомпрометированы?

- Возможно, дело в инсайдере, который имел отношение к преступной группе, разработавшей этот вирус

Полагал и полагаю, что программными средствами подделать цифровую подпись невозможно

Оффлайн Voltmeter

  • Moderator
  • Hero Member
  • *****
  • Сообщений: 3547
Дмитрий Завалишин об операционной системе "Фантом"

Часть Первая





Создание операционной системы - дело серьёзное. Не каждый способен найти средства и силы взяться за него, мало кто в состоянии довести дело до какого-то результата, и уж тем более единицы добиваются успеха на этом поприще. Множество прекрасных разработок в этом направлении были начаты и заброшены на том или ином этапе: Xerox Star, Plan 9, PenPoint, Magic Cap, BeOS... Все их объединяет то, что они никогда не занимали сколько-нибудь заметной доли рынка, не дожили до наших дней и в большинстве своём так и остались утопическими проектами. Можно ли поверить, что вещи, на которых споткнулись такие компании, как Xerox и Bell Labs, вдруг будут реализованы небольшой российской компанией?

Эта смелая компания называется Digital Zone. Её основатель Дмитрий Завалишин считает, что это вполне возможно, и прилагает все усилия для того, чтобы осуществить свою мечту - сделать операционную систему, в которой не было бы разницы между запущенной и не запущенной программой. При написании приложений для неё программистам не придётся заботиться о сохранении данных, а научить две программы обмениваться сложными структурами будет не труднее, чем передаче простого текста.

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

- Расскажите, для начала, о своей карьере.

- Начинал я в Советском Союзе, в ЦСУ СССР (Центральное Статистическое Управление). Это была крупная организация с хорошими деньгами, у них было всё самое новое. Поэтому было интересно, и надо сказать, что ещё тогда были новые проекты, связанные с коммуникациями. Модемы только появлялись, и всё это было очень "вкусно" и интересно. Собственно, с тех пор и по сей день я занимаюсь разработкой программного обеспечения, за исключением того небольшого периода, когда я работал в компании "Компьютерра" редактором.

Если говорить о самых интересных вещах, которыми я занимался, то это проект, который назывался "Русский интернет" в 1990 году. Я работал с "Демосом" и Курчатником и занимался связью между интернетом и ФИДО, которое в ту пору было достаточно популярно и составляло существенную часть коммуникаций в России.

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

- И вы решили сделать такую компанию?

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

- Судя по вашему сайту, у компании достаточно загадочное и сложное занятие.

- Да на самом деле ничего загадочного. Мы действительно занимаемся портальной разработкой.

- Но написано, что вы берётесь за самое интересное и сложное, что только можете найти.

- Это действительно так. Я приведу несколько примеров, и вы увидите, что они действительно интересные и сложные, но по областям достаточно разные. Один из этих примеров - крупный портал для системы e-commerce - торгового интегратора класса "Яндекс.Маркета" (собственно, "Яндекс.Маркет" - тоже мой проект - им я занимался в компании "Яндекс", и можно сказать, что это моё детище). В нашей компании мы сделали аналогичный проект, даже в чём-то более сложный. Это если говорить про веб-направление.

Второй пример - это "Гардемарин", который с вебом никак не связан. Это достаточно серьёзный софтверный проект, он ориентирован на мониторинг судовых систем. По-другому мы его называем electronic dashboard для судна. Это достаточно современная тенденция, она постепенно вытесняет классический подход, когда существуют отдельные приборы на панели, отдельным образом соединённые с устройствами в машинном отделении. Мы их заменяем на централизованную систему, которая связана по Ethernet с машинным отделением, получает оттуда данные и отправляет управляющее воздействие. Опять же, это довольно крупная система, сложная и довольно интересная. Но к вебу никакого отношения не имеет.

Третий пример - это наша работа с "Мосводоканалом". Мы с ними разрабатываем систему, которая поможет "Мосводоканалу" быстрее реагировать на информацию об авариях и получать более точное представление о месте аварии. У "Мосводоканала" по городу есть множество датчиков, но при этом до сегодняшнего дня интерпретация показаний с них происходила в "человеческом режиме". Сидели некие опытные люди, которые знали, что, к примеру, если сработал восьмой датчик и двадцать пятый, то, скорее всего, там протечка или здесь прорвало трубу. Поскольку это эзотерическое знание очень трудно передаётся от человека к человеку, от того, какая смена сидит в диспетчерской, зависит качество реакции на информацию об аварии. Было решено реализовать систему, которая бы это автоматизировала. Сейчас у нас есть представление о том, как анализировать информацию с датчиков, есть картографическая система, которая отображает эту информацию. Анализируя известные нам паттерны аварийных ситуаций, можно давать более точные указания на то, где искать аварии. Это довольно практическая задача - свести время реакции на аварию до получаса. Это критично, важно и полезно.

Четвёртый пример - собственно, операционная система, которая находится совсем в другой области, и тем не менее - очень интересный и амбициозный проект.

- Но что вас вдруг натолкнуло на мысль делать собственное ядро ОС? Какие-то нужды по другим проектам? Неудовлетворённость существующими системами?

- О, совсем не вдруг! Эта идея зрела давно. Она - результат многолетнего опыта работы в софтверном бизнесе и довольно обширных представлений о том, что происходит в самых разных областях разработки софта, и представлений о том, как устроены существующие операционные системы. Дело в том, что в советское время, когда я только начинал всем этим заниматься, я был очень активным юниксоидом. В восьмидесятые годы я пропагандировал Unix - тогда это была сверхмодерновая, никому не известная операционная система, которая только начинала свой путь. И в мире-то начинала, а в СССР это была совсем фантастика. Я довольно хорошо её знал, был системным программистом, занимался разработкой драйверов и существенно касался ядра операционной системы.

Потом, когда появился MS-DOS, он очень сильно уступал "Юниксу". Зачастую приходилось писать программы, функциональность которых находилась в рамках компонента операционной системы. То есть, скажем, мы под свои задачи писали такие вещи, как многозадачность - для MS-DOS. Причём такие вещи делал каждый десятый программист, работающий с MS-DOS. Это сложно, но вполне достижимо.

Когда мы это делали, мы понимали, какие задачи мы при этом решали и откуда такие потребности возникают. Однажды у нас была очень смешная практическая работа. Когда появилась одна из первых 386-х машин, они были бешено дорогие и никто не понимал, зачем они вообще нужны. Потому что DOS на них работал, как на обычных 286-х. Разницы не было, и никто не понимал, зачем там ещё какие-то восемь мегабайтов.

У меня был начальник, который ко мне пришёл и сказал: "Слушай, ты понимаешь, что с ней можно сделать?". Я говорю, что, в принципе, к ней можно подключить несколько терминалов. Он говорит "Да? Здорово. А как?", я отвечаю: "можно плату такую купить, вставить процессор в неё, подключить к ней терминалы СМ ЭВМ - они ещё были на рынке, - Но операционка этого не поддерживает, ничего с этим сделать нельзя". "А можешь что-нибудь сделать, чтобы она поддерживала этот терминал?". "Могу - говорю, - могу сделать систему, которая позволяет текст на них на всех редактировать". "Здорово! Под это есть задача, давай". И мы сделали продукт, который позволял подключить восемь терминалов к 386 машине, под DOS написали многозадачную среду, в которую встроили приложения - текстовый редактор и прочую мелочёвку. Из этого получилась некоторая инфраструктура для подготовки документации. Были клиенты, которые ею пользовались. Это был некоторый прямой опыт создания - если не операционной системы, то близкой вещи, и её компоненты там присутствовали.

Дальше разработка самых разных приложений и задач в основном компонентного характера наводила на мысль о том, как бы это делать правильно, и в девяностых годах начали бродить в голове и осмысливаться первые идеи, которые легли в основу "Фантома". Я много об этих идеях говорил, общаясь с разными людьми, с сотрудниками разных крупных софтверных компаний - это интересная тема, она обсуждалась. И где-то лет пять назад один из моих знакомых мне сказал: "Давай, Дим, ты что-нибудь уже сделаешь, потому что, вроде, интересная тема". А я очень боялся, потому что тема-то на самом деле неподъёмная и, честно сказать, не мог подумать пять лет назад, что ОС у меня будет запускаться и работать.

Я стал пробовать, делать какие-то наброски, пытаться сделать то один, то другой кусочек - посмотреть работает или не работает та или иная вещь. Компилятор, вот, написал тестовый, систему виртуальной памяти. Оно начало оживать постепенно и двигаться. Финальный шаг - когда я сказал себе, что эти куски мы действительно будем собирать в ядро операционной системы.

Отчасти процесс пошёл потому, что случился информационный прорыв. Мы, на самом деле, его не планировали, но уже пытались делать какое-то ядро. Полтора года назад случилась эта история с публикацией в западном журнале. Случилась абсолютно спонтанно, не планировалась вообще. У одного из наших сотрудников был друг за рубежом, он ему рассказал, что, знаешь, у нас тут ребята операционку потихонечку клепают. "Да, правда? Расскажите. Написал письмо, мы кинули ему внутренние рабочие материалы, идеи, и через неделю вылетела статья, от которой мы сами были в лёгком шоке. Эта статья была перепечатана множество раз - на сотой перепечатке мы просто перестали считать. До этого нас, конечно, воодушевляло - было интересно: японский, китайский языки, европейские языки, прибалтийские языки, дискуссия где-то в Эстонии о том, что русские подкопаются под Эстонию через операционную систему, которую они разрабатывают! Феерическая, конечно, реакция.

- Когда это было?

- Полтора года назад где-то. Зимой прошлого года. Если бы не это, может, ещё года два всё бы шло на тормозах. Но тут как-то так получилось, что мир про это узнал и среагировал не очень благожелательно. Были люди, которые говорили: "Да, здорово, интересно, слава богу, что вы так смотрите на вещи нестандартно, пытаетесь что-то сделать нетипичное". Были люди, которые говорили: "Да это всё сто раз уже было". И они отчасти правы, потому что концепцию, которая у нас есть, по частям можно найти в разных работах разных времён. Третьи говорили: "Да вообще, козлы, куда вы лезете, какие вам операционные системы, вы же там какие-то сайтики программируете". Да, понятно, что моя компания занимается разработкой веб-систем довольно много, поэтому люди говорят: "Сайтописатели операционку делают, да кто они такие?!". Естественного скепсиса хватает, но он и у меня, вообще-то, есть.

Мы - люди адекватные и понимаем, что создать операционную систему, во-первых, сложно, во-вторых, крайне сложно выйти с ней на рынок, хотя бы на какой-нибудь. Тем не менее, меня много спрашивают: "Почему ты за это взялся? Насколько это всё реально?" Я отвечаю, что если бы я просто не стал бы этого делать, мне бы стало стыдно, что не попробовал.

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

- А можете как-нибудь сформулировать, что отличает "Фантом" от других существующих ядер?

- Конечно. У меня есть хорошая, как мне кажется, иллюстрация к этому. Почти все люди в этой стране хоть раз видели икеевскую мебель и хоть раз в жизни собирали её. Представьте себе, что вы вынуждены каждый вечер, приходя домой, собирать эту мебель, а утром снова разбирать и класть в ящики. Это иллюстрация того, как работают все без исключения современные программы. Программа в силу некоторого стереотипного мышления разработчика операционных систем вынуждена, поработав какое-то время, всё своё внутреннее представление о предмете, с которым она работает, разбирать и складывать в файлы. Это достаточно болезненный, странный и ненужный процесс. Первое, что делает "Фантом" - это избавляет программиста от необходимости этим заниматься.

Из этого проистекает достаточно много вещей - от приятных до фантастически хороших. Самая простая и очевидная - то, что в силу этого факта фантомовские программы не замечают перезагрузки операционной системы. Этому все так радуются в Firefox, который, как известно, способен запомнить состояние и при загрузке его "поднять". Но Firefox делает это вручную, а "Фантом" гарантирует такое всем работающим программам, перманентно и без какой-либо поддержки с их стороны. Выключил-включил - всё осталось как прежде и поехало дальше.

Обратим внимание на то, что чтобы это делать, Firefox при перезагрузке перескачивает данные со всех сайтов. Для моих пятидесяти вкладок это вполне ощутимо. Перезагружаешь систему, и начинается война за канал - уходят минуты на то, чтобы всё это выкачать.

Ещё вчера был отличнейший пример, я просто счастлив, что на семинаре мне его подсказали. Был человек, который занимается пожарными системами. Он рассказывает про совершенно живую ситуацию: бросок питания - миллисекундный, но вызывающий сбой на процессоре. И после этого охранная система тратит пятнадцать минут на пересчёт датчиков. С "Фантомом" после сбоя питания и перезапуска система будет иметь то же состояние, и датчики пересчитывать уже не надо.

Или вот у вас стоит система, которая занимается жизнеобеспечением больного в больнице. Бросок питания - она перезапустилась и снова должна переинициализировать своё состояние, а больной до этого может просто не дожить. "Фантом" гарантирует ей перезапуск в рабочем состоянии. Оно может быть не вполне тем же самым, что и до выключения, но начнёт система не с нуля, а с полного состояния.

Есть ещё хороший пример того, где это важно (причём я не выдумываю их - это примеры, с которыми к нам приходили люди) - компания, которая делала "Марусю". У них там три или четыре компьютера в машине, при выключении зажигания их нужно выключить, потому что иначе они сожрут аккумулятор мгновенно. При включении зажигания они должны включиться. Сейчас при включении зажигания начинается загрузка - это процесс, который занимает минуты. То, что мы делаем, для них крайне актуально. Система, которая при выключении может "сфотографироваться" и лечь на диск, а при включении подняться в готовом состоянии, - точно соответствует запросам.

Стандартный вопрос, который мне задают: "А как же hibernate?". Во-первых, hibernate требует ручного указания на то, что его надо сделать, во-вторых, он ненадёжен (мы все знаем, что с какой-то вероятностью он не поднимается), потому что это не имманентное свойство системы, а он к ней привинчен снаружи. И третье - он не спасает ситуацию, когда электричество кончилось или произошёл сбой. То есть какая-то ситуация, когда компьютер перестал работать без создания образа.

Опять же, это свойство, которое все понимают, которое вроде как является главным для "Фантома". На самом деле, нет. На самом деле, важнее те вещи, которые проистекают из этой консистентности в программной среде. Что они означают? В современной операционной системе - будь то Unix или Windows, взаимодействие двух программ очень сильно осложнено по массе причин. Во-первых, в силу того, что структура системы построена по принципу раздельных адресных пространств, и они находятся за очень толстой стенкой. Они могут общаться только, грубо говоря, кидаясь друг в друга записочками, причём "записочки" - это довольно дорого, и в эту записочку не запихнёшь сложные структуры, которыми оперируют современные программы.

Во-вторых, нельзя установить долговременные отношения между программами. Оба приложения запускаются и останавливаются. И это обычное дело. Поэтому нельзя сказать "я с тобой буду дружить надолго", потому что он умрёт через пятнадцать минут и запустится уже в другом качестве. Это будет другая копия этой программы, с ней нельзя работать так же. Очень простой пример - запуск Photoshop. Он запускается и начинает сканировать шрифты, плагины, цветовые профили и всё это дело инициализирует при каждом запуске. Почему? Потому что среда не персистентна, он не может просто запомнить указатель на какой-то объект и потом снова пользоваться. Объект может пропасть, не пропасть, его нужно загрузить обязательно. "Фантом" представляет собой среду, в которой "Фотошоп" мог бы, один раз найдя шрифт, потом мгновенно запускаться и сразу начинать им пользоваться, имея непосредственный указатель на этот самый шрифт.


Автор: Андрей Письменный
Фото: Алексей С. Ющенков.

Источник: Компьютерра Онлайн

ПРОДОЛЖЕНИЕ СЛЕДУЕТ
« Последнее редактирование: Понедельник 26 Июля 2010 04:29:11 от Voltmeter »
"Свободен лишь тот, кто потерял все, ради чего стоит жить." Э. Ремарк

Оффлайн Voltmeter

  • Moderator
  • Hero Member
  • *****
  • Сообщений: 3547
Дмитрий Завалишин об операционной системе "Фантом"

Часть Вторая





- Не нужно ли проверить, не исчезли ли шрифты?

- Они не могут исчезнуть в "Фантоме" в силу того, как работает система сборки мусора. Пока существуют те вещи, которыми пользуются, они будут оставаться. Это вторая интересная особенность "Фантома". Если заглянуть в папку временных файлов любой Windows через год-два работы системы, то выяснится, что там миллионы страшных вещей, которые просто так валяются.

- Хорошо, но если я захочу стереть шрифт?

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

- Как на практике происходит это сохранение состояния? Система просто сохраняет всё на диск время от времени? Или как-то более хитро?

- Люди, которые занимаются операционками, довольно быстро понимают, как всё это устроено. Простыми словами рассказать это сложно, но давайте попробую. Дело в том, что состояние на диске уже лежит. В момент сохранения снэпшота происходит запись только тех данных, которые изменились с момента предыдущего снэпшота. Как правило, для обычной системы их немного. Это означает, что снэпшоты можно делать достаточно часто, а при сбое система восстановит состояние, довольно близкое к тому, что было раньше.

- А программа сама контролирует, когда её объекты сохраняются?

- Нет. Этого программе вообще не видно. С точки зрения программы, она существует в системе, которая живёт вечно - для неё ничего не меняется. Я полагаю, что современные операционные системы требуют слишком обширных знаний от разработчика, и стремлюсь сделать систему, в которой многие вещи делались бы настолько прозрачно и незаметно, что просто не требовалось бы даже думать о них. Это одна из причин, почему ОС называется "Фантом". В "Фантоме" автор программы вообще не должен знать, что такое диск. Он её просто пишет, она просто существует. И часть задачи просто отпадает.

Скорость, с которой система делает снэпшоты, регулируется. Можно сказать - раз в минуту, можно - вообще непрерывно. Закончился один и сразу пошёл другой. Более того, у нас есть желание сделать версию для специальных применений, в которой это будет делаться со скоростью порядка миллисекунд. То есть система будет хранить очень подробную запись того, что происходило, по методу журналирования. Раз в минуту будут делаться полные срезы, а между ними будет вестись список частых изменений. Это позволит получить на обычном "железе" систему, которая сможет восстанавливать очень близкое к моменту сбоя состояние. Но принципиально программа для этого ничего не должна делать.

- Эта непохожесть "Фантома" на другие среды означает, что старые компоненты систем Unix нельзя будет использовать? X Window, к примеру, или OpenGL.

- Вовсе нет. OpenGL у нас даже в каком-то виде сейчас есть в системе. В довольно сыром, правда.

- И это не собственная реализация, а оригинальный код, скомпилированный под "Фантом"?

- Да. Здесь есть две стороны жизни: есть объектная персистентная среда, которую "Фантом" предлагает в качестве родной. Под неё мы собираемся построить способ миграции, который позволил бы втаскивать на неё код, написанный на современных языках - на Java, Python, C#. Это очень большой объём кода, и он, на самом деле, превосходит то, что сделано для Unix. Мы считаем, что это основное направление, в котором нужно двигаться. Конечно же, мы не хотим сделать систему, для которой всё придётся писать заново. Это не оставило бы мне абсолютно никаких шансов.

С Unix ситуация вот какая. Изначально вообще не планировалось поддерживать юниксовый код, потому что родная среда "Фантома" не позволяет поддерживать старые языки программирования - такие как C и Pascal. Есть очень чёткое разделение: есть managed-языки и не-managed языки. Не-managed-языки мы напрямую не поддерживаем. Это совершенно не проблема для современной разработки, потому что сейчас всё делается уже на managed-языках. Но есть довольно большое количество старого кода, написанного на C, на Pascal, на C++.

Изначально я предполагал, что им не нужно заниматься, ещё и потому, что за то время, которое мы будем делать стабильную версию "Фантома", мир ещё раз шагнёт вперёд, и всё старое наследие окажется совершенно неактуальным. Тем не менее, в сегодняшней стадии в "Фантоме" делается Unix-подсистема, которая позволит запускать под ним более или менее немодифицированный Unix-код, хотя X Window мы, наверное, не будем туда затаскивать.

- То есть будет собственная оконная система?

- Да. Она уже в какой-то степени есть, и не так уж много кода X Window, который было бы интересно в неё тащить. А делать X Window - это довольно серьёзная задача, которая, я боюсь, не окупится. Ну и, кроме того, есть довольно много кода, написанного под вещи типа SVGALib, который вполне можно портировать под "Фантом". То есть framebuffer и прочие инструменты обмена мы сделаем.

- Но программы, написанные под X Window, придётся модифицировать?

- Придётся модифицировать, да. В текущей ситуации мы не видим достаточной необходимости делать эту часть работы. Мы больше ждём, что программы, написанные за последнее время, будут реализованы скорее для Java SWING, чем для X Window.

- Но у такого подхода должны быть и плюсы. Вы говорите, что под "Фантом" легче писать программы. Легче и дешевле. Кроме сохранения состояния это в чём-то проявляется?

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

Собственно, я считаю, что успех Unix как операционной системы связан в первую очередь с тем, что Unix предложил возможность сборки утилит командной строки в "пайпы". Таким образом он породил первую командную среду в истории разработки софта. Хоть до него и были библиотеки, но он стал первой средой, где этим мог управлять пользователь. То есть можно взять две вещи, написанные разными людьми, и склеить их воедино, чтобы решить свою третью задачу. Причём, опять же, это не некоторая абстракция. Даже в те годы в ЦСУ СССР была реальная разработка под Unix, для которой использовали утилиты командной строки. Там была обработка статистики, которая делалась этими "грепами", "сортами" и прочими утилитами, которые позволяли данные, представленные в виде текстовых табличек, как-то обсчитывать, форматировать и печатать.

То, что мы делаем - это новый шаг в ту сторону; он отличается от того, что существовало, благодаря глобальному адресному пространству. Мы говорим, что всё, что у нас есть в системе, можно использовать. То есть можно достучаться до чужих данных (с учётом желания того, кому они принадлежат, их вам отдать, конечно - в этом смысле "Фантом" - система очень защищённая), но если две программы желают обменяться данными, то это можно сделать очень дёшево, очень эффективно и с произвольной степенью сложности.

В современных системах это просто невозможно. Грубо говоря, если работает программа Word, в которой существует документ, представленный в виде некоторого графа объектов, поделиться фрагментом этого графа объектов с другой программой Word не сможет. Потому что видим граф только в рамках одного адресного пространства. Word может его сериализировать, свернуть, засунуть в какую-нибудь трубочку, передать через "пайп", но это всё тяжко и требует того, чтобы обе программы понимали один протокол. Ну, к примеру в Windows есть протокол OLE, который такие возможности предоставляет. Но программ, которые его поддерживают, мало, потому что он сложный. И все такие протоколы сложны. Второй пример - это CORBA, который вообще шикарный инструмент - он платформонезависимый, но примеров его реального использования - единицы, потому что это сложно.

Та же задача в рамках "Фантома" решается одной единственной строкой кода: передачей указателя на произвольную группу объектов. После чего они напрямую доступны во всей своей сложности. То есть сложность этого "интерконнекта" мы понижаем не просто в разы, а на порядки. Мы ожидаем, что это даст существенный эффект.

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


Автор: Андрей Письменный
Фото: Алексей С. Ющенков.

Источник: Компьютерра Онлайн

ПРОДОЛЖЕНИЕ СЛЕДУЕТ
« Последнее редактирование: Понедельник 26 Июля 2010 04:28:36 от Voltmeter »
"Свободен лишь тот, кто потерял все, ради чего стоит жить." Э. Ремарк

Оффлайн Voltmeter

  • Moderator
  • Hero Member
  • *****
  • Сообщений: 3547
Дмитрий Завалишин об операционной системе "Фантом"

Часть Третья





- Не похоже ли это на среду Smalltalk?

- Похоже. Очень похоже. Вы абсолютно правы, это так и есть.

- Но в качестве отправной точки была избрана именно Java?

- Нет, у нас среда как раз языкоагностическая, мы не завязаны на Java. Просто Java Virtual Machine на сегодня используется для очень большого количества современных языков - более 200 языков имеют трансляторы в JVM, а это значит, что если поддержать её, то мы поддержим и это огромное количество языков. Для нас это будет наиболее эффективным путём. Поэтому дело не в самой Java, а в виртуальной машине.

- Как я понял, разработка "Фантома" пока находится на очень раннем этапе. Ядро ещё не устоялось?

- Год назад я бы сказал, что ещё на очень раннем этапе. Сейчас у меня у самого возникает ощущение, что мы уже существенно ближе к реальности. Ядро - не сказать "не устоялось" - в нём есть много вещей, которые требуют доработки, переработки или просто развития, но "не устоялось" сказать уже нельзя. Потому что если говорить про среду исполнения прикладного кода, то за последний год она не изменилась ни на байт. То есть, вообще говоря, ядро устоялось именно с точки зрения внешнего интерфейса. От него мы существенных изменений уже не ждём.

- И вы уже не боитесь, что в погоне за идеалами окажетесь в той же ситуации, что и Столлмен со своим Hurd?

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

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

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

Я абсолютно уверен, что я двигаюсь в правильном направлении - этому можно привести довольно много аргументов. Наверное, самый вразумительный из них - это то, что компания Microsoft движется в том же направлении. Я думаю, что ни у кого в этом мире нет сомнений в том, что компания Microsoft знает, где искать деньги в разработке софта. Про то, что они делают, можно говорить самые разные вещи, их можно ругать или хвалить, говорить, что есть не очень удачные инженерные решения среди принимаемых ими, но Microsoft как одна из крупнейших компаний, занимающихся разработкой софта, чётко понимает, что и как устроено с точки зрения бизнеса, где дешевизна, и как до неё добраться. То, что мы с ними существенно совпадаем, убеждает меня в том, что я прав.

Здесь, как мне кажется, правильной будет такая метафора: если какой-то человек вдруг скажет, что знает, как сделать производство автомобилей на тридцать процентов дешевле, к нему сразу же подбегут человек сто с разных сторон, попытаются порвать его на куски, и кто-нибудь один да утащит его в "Тойоту" или в "Форд", чтобы он сделал то, что хотел. Потому что все понимают, что тридцать процентов дешевизны - это значит убить весь рынок и съесть всех. В софте ситуация несколько мягче, но, тем не менее, она тоже критична.

Ещё один пример - когда лет десять назад появилась Java (как язык программирования), производительность программ на Java была катастрофически хуже, чем производительность программ на C++. Что не помешало Java "вынести" C++ просто с корнями. Можно считать, что C++ сейчас не существует, а Java сегодня - язык номер один. Если Java сегодня кому-то и сдаёт, то только C#, который, в общем-то, в существенной степени является её клоном. Почему это случилось? Потому что Java дала при провале на старте по скорости (сейчас она его уже наверстала) существенные преимущества по скорости и дешевизне разработки. И это решило спор в её пользу. Я полагаю, что у принципов, которые лежат в основе "Фантома", те же самые шансы.

Это направление более или менее неизбежно. По крайней мере, я не вижу ни одного конкурента ему - ни у нас, ни у Microsoft, ни у кого бы то ни было в мире. А уж выиграет при этом "Фантом" или другая ОС того же класса - это, к сожалению, вопрос, зависящий больше от финансирования, чем от идеи.

- Хорошо, про то, какие преимущества "Фантом" даст встроенным решениям, вы уже сказали. С серверами ситуация сложнее?

- На самом деле, нет, не сложнее. Вторая область, где мы можем показать преимущества "Фантома" в ближайшее время - это как раз серверы. То есть какие-то веб-системы, причём распределённые. Современное программирование уже не предполагает обособленных программ. Почти всё, что сейчас делается - это вещи, которые так или иначе ввязываются в существующую инфраструктуру. Достаточно зайти на любой проект, чтобы увидеть кнопочки "Твиттер", "Фейсбук", "Живой журнал" и т.п. Это простой пример того, что обособленно жить уже нельзя - всем требуется среда, которая легко поддерживает не просто компонентное программирование, а уходящее во врешний мир.

Мы считаем, что здесь у нас есть хорошие шансы, особенно - в разработке не очень масштабных систем. Условно - систем, которые делаются на коленке тремя программистами. То есть небольшие разработки, которые, как правило, сегодня делаются на PHP плюс MySQL. Здесь мы можем предложить PHP без MySQL. PHP и MySQL популярны, потому что их легко изучить. Если выкинуть MySQL, изучать будет ещё вдвое легче. В этом месте у нас есть шансы, хотя есть и конкуренты. Существуют среды, которые реализуют сходную с "Фантомом" персистентную функциональность не в рамках ОС, а в рамках отдельного приложения.

- Можно ли "Фантом" применять для распределённых вычислений и виртуализации?

- Можно, конечно, загнать под него монитор виртуальных машин, но я не вижу больших причин этого делать. Я не вижу особых проблем в мире виртуализации - там всё хорошо, и нам помогать нечему. Хотя к нам приходил как-то человек, который рассматривал "Фантом" как некоторое средство виртуализации, и в некотором смысле мы и будем им являться, потому что среда Linux в "Фантоме" отчасти имеет характер виртуальной персистентной среды.

Та среда Linux, которую мы собираемся сделать - она будет отличаться от обычного Linux тем, что запущенные в ней программы не будут "видеть" перезагрузки операционной системы. Это попытка сделать очень совместимую на уровне исходного кода среду, но при этом с плюсами "Фантома".

Однако когда я говорил про среду разработки в рамках нескольких компьютеров, я имел в виду несколько другое. Мы хотели бы в рамках "Фантома" реализовать достаточно прозрачный механизм дистанционного доступа к объектам на другой машине и миграцию объектов.

Я приведу пример, который в "Фантоме" можно будет реализовать нескоро, но идеологически он достижим. Вы садитесь за компьютер и начинаете работать с некой программой - не важно какой - к примеру, рисуете в CAD-е какой-нибудь проект. Он реализован как множество объектов, которые описывают проектируемую вами систему, вы видите в окне представление этой системы и работаете с ним. Поработав, вы собираетесь поехать на дачу. Вы берёте окно (подчёркиваю - окно!), кладёте его в письмо и отправляете себе на дачный компьютер. Когда вы приезжаете туда, вынимаете из письма окно, и начинаете с ним работать. Но при этом окно у вас здесь, а объекты - там.

К тому же компьютер вполне в состоянии обнаружить, что ситуация изменилась, и те лежащие дома объекты на самом деле используются с дачи. Среда в состоянии передать их вам. По мере того, как вы будете с ними работать, они будут переползать на машину, с которой вы работаете. Если вы долго проработаете, они соберутся там. Уехали в Швейцарию к другу? Они приедут за вами по мере необходимости.

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

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

- Наш разговор плавно перешел к настольным применениям, но я бы сперва хотел поговорить о портативных устройствах. Сейчас активно обсуждается, как должна быть сделана многозадачность на устройствах с ограниченным количеством памяти и энергии. К примеру, в iOS 4 используется хитрая схема, позволяющая программам сперва замораживаться, затем закрываться, когда памяти не хватит. Если бы использовалось ядро "Фантома", это можно было бы сделать легче и очевиднее?

- Дело в том, что то, что вы сейчас описали, совершенно штатная ситуация для "Фантома" - там для этого не нужно предпринимать никаких специальных усилий. В отличие от Unix и Windows, в которых существуют выраженные отдельные состояния запущенной и незапущенной программы, в "Фантоме" эти состояния размыты и неотличимы друг от друга с точки зрения внешнего наблюдателя. Программы переходят из более активного состояния в менее активное просто по факту того, работают они или нет. Если программа реально не работает, то подсистема виртуальной памяти "Фантома" по мере необходимости в оперативной памяти постепенно вытеснит её в дисковое состояние. Для этого не нужно ничего делать - всё происходит само собой.

То есть то, что сейчас делают разработчики мобильных ОС, у нас есть и так. Кстати, одна из причин, по которой я так уверен в правильности концепции "Фантома", - в том, что очень много частных задач здесь решается в силу естественных свойств системы. Это меня очень мотивирует. Это критерий правильности проектирования базовой идеи "Фантома".

"Фантом" - это же, собственно, программы, которые постоянно и живы, и мертвы. Они лежат на диске, но как только они попытаются поработать, непосредственная попытка обращения к программе приведёт её в оперативную память. Она может поработать частью, и именно эта часть загрузится и поработает. Как только памяти станет мало для программ, и какие-то программы станут пассивными, они вытеснятся из оперативной памяти непосредственно стандартным механизмом планирования ресурсов компьютера.

Единственное, что в случае мобильного устройства таки нужно делать - это, собственно, принимать решение о том, работает программа или нет. С этим ничего не поделаешь - это либо какое-то волюнтаристское решение операционки о том, что какая-то программа слишком много "ест", и давайте её приостановим (но это именно приостановка, а не выгрузка - выгрузка случится сама), либо это решение самой программы о том, что она находится в стеснённой ситуации и лишнего потреблять не должна.


Автор: Андрей Письменный
Фото: Алексей С. Ющенков.

Источник: Компьютерра Онлайн

ПРОДОЛЖЕНИЕ СЛЕДУЕТ
« Последнее редактирование: Понедельник 26 Июля 2010 04:28:04 от Voltmeter »
"Свободен лишь тот, кто потерял все, ради чего стоит жить." Э. Ремарк

 

Rating@Mail.ru
Portal Management Extension PortaMx v0.980 | PortaMx © 2008-2010 by PortaMx corp.
Яндекс.Метрика