А ну-ка нехотя вспомним время билоэ

24 сентябрь, 2009 - 12:55Андрей Зубинский

На днях Линус Торвальдс высказался на круглом столе во время LinuxCon, что Linux (как ядро) становится "bloated and huge".
Так внезапно, so emo.

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

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

А, может быть, Танненбаум не так уж и неправ?

С какого количества физических процессоров какой производительности в де-факто стандартном самом массовом компьютере потери быстродействия за счёт микроядерной архитектуры ОС станут менее значимыми, чем сложности сопровождения "разбухающего" монолитного ядра (которое от релиза к релизу теряет 2% производительности, если прислушаться к мнению исследователей Intel)?

По моему мнению, это самый главный вопрос сегодня.

Второй вопрос - инновации. Что на системном уровне, что в userspace.

Уже есть формально верифицированные микроядра (sel4, например), что значит - уже есть работающие технологии формальной верификации системного ПО, уже есть технологии полуавтоматического распараллеливания кода на уровне исходных C-текстов (об одной из них скоро будет статья), много чего есть.
Вот только вижу я всё время одно и то же.
Правда, сообщество DragonFly BSD на системном уровне трудится над действительно новым, что не может не радовать.

Про уровень userspace уже сказал на LinuxCon самый главный по Linux в IBM Боб Сутор (пришлось поискать видео, где он сам называет свою фамилию) - "Chasing desktop Windows a 'dead-end'".
На самом деле это было понятно с самого начала - гнаться на инструментальной ОС за пользовательской системой, да ещё и по её пользовательскому полю, - занятие бесперспективное.
Но тут даже другое.

Инструментальный характер ОС был таковым в те времена, когда:

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

Что изменилось с тех времён?

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


По-моему, это совершенно очевидные вещи.

Вот потому рядовому пользователю сегодня просто не нужны, например, такие милые сердцу традиционных юниксоидов инструменты. 
Профессионалу в своей прикладной области, который с глубинным пониманием "проливает" с помощью Autodesk Moldflow виртуальную пресс-форму, добиваясь высоких качества и выхода годных изделий, нет нужды что-то автоматизировать на системном уровне с помощью awk.
Потому что то, что было нужно и можно на этом уровне автоматизировать, уже автоматизировали.
А то, что реально нужно на современном прикладном уровне, - для него такой инструментарий не подходит.
С другой стороны, непрофессиональному пользователю, для которого компьютер - не инструмент, а средство развлечения и общения, тем более нет нужды в инструментальном характере.
И это его святое право.

Всё это не "увы", не "ах", вообще никак.
Просто так есть.

К чему это всё?

Скорее всего, к открытому вопросу - нужна ли новая пользовательская ОС ?
Сейчас есть живые пользовательские Windows 7 и MacOS X.
Есть зародыш-клон BeOS Haiku, где-то в недрах Palm ещё есть сама чудесная BeOS, за которую владельцы современных махоньких нетбуков благодарили бы Palm деньгами и во всех прочих формах (в рамках приличий и разумного, конечно), как мне кажется.
И?