>>> у высококвалифицированных разработчиков ядра Linux хватит ли времени и желания
>>> сделать не кривые драйвера для всего имеющегося в мире спектра оборудования?
>>> наверное нет. они будут заниматься более важными вопросами. а драйвера ко всему
>>> этому зоопарку будут писать разработчики средней и низкой квалификации, допуская
>>> при этом большее количество ошибок в коде драйвера, т.е. в ядре операционной
>>> системы. > Очень смешно. Но касается исключительно закрытых драйверов, причём и там денег
> или ещё чего на нормальных драйверописателей не хватает из заметных поставщиков
> разве что у ATI. Более последовательные вроде NVIDIA уже откатали
> и оно просто работает, победней вроде C-Media -- делились спеками
> и имели открытый драйвер ещё в 1999.
"открытый драйвер" и "безглючный драйвер" - это не синонимы.
например, в 2002 году народ из Стэнфордского Университета сделал исследование
кода Linux начиная с самой первой версии и до последней на тот момент версии 2.4.1.
и оказалось, что за эти 7 лет развития и становления Linux, ошибки в коде драйверов
встречались от 3 до 7 раз чаще, чем в остальных подсистемах ядра (количество ошибок
на 1000 строк кода). на момент выхода версии 2.4.1 код драйверов составлял уже 70%
от всего обьема ядра, хотя в момент выпуска версии 2.1 соотношение было примерно 50/50.
статья большая, полностью пересказывать не буду.
"An Empirical Study of Operating Systems Errors"
http://pdos.csail.mit.edu/6.097/readings/osbugs.pdf
>> поэтому идея микроядра соответствует реалиям Линукса больше,
>> чем это себе представляет Торвальдс...
> Боюсь, "это" он представляет себе как раз получше нас с Вами.
> С индусами (в худшем смысле слова, бишь дешёвыми кодерами драйверов)
> бороться имеет смысл не на техническом уровне, а на организационном --
> не столь давняя очередная волна по части запрета загрузки закрытых драйверов
> вполне является показательной (и есть подозрение, что в какой-то момент пингвин
> будет иметь достаточный разгон, чтобы производители прогибались,
> а не Линус тормознул поезд со словами "непрактично").
проблема не в том, что закрытые драйвера - плохие, а открытые - хорошие.
производители уже начинают прогибаться, и тактически это все правильно.
более того, - это самый эффективный метод сейчас повысить надежность ядра,
не изменяя его архитектуру, и в этом основные разработчики ядра 100% правы.
но стратегически - это всеравно не решает проблему, потому что драйверов
становится все больше, и количество проблем от глючных драйверов со временем
будет только увеличиваться, особенно у новых десктопных пользователей Linux,
которым для офисной работы совсем не нужно выжимать из процессора 120%,
но падения системы от нестабильных драйверов будут самыми неприятными.
кардинально улучшить ситуацию можно только изменив архитектуру ядра операционной
системы. это произойдет не сейчас, не с этим ядром, может быть в 2.7 или даже 2.9,
но обязательно произойдет, потому что выиграш от экономии производительности будет
постоянно уменьшаться, и со временем станет меньше 1%. а общий проиграш от падения
всей системы - будет постоянно увеличиваться, особенно на фоне других ОС будущего.
например, Microsoft сейчас работает над своей новой операционной системой будущего,
Singularity, которая имеет microkernel-архитектуру, и весь код операционной системы
и драйверов является managed кодом. сейчас, на современном оборудовании она будет
тормозить. но в будущем современное оборудование будет там, где сейчас находится
IBM PC XT с его 8088 процессором и 640 килобайт оперативной памяти. например,
Intel уже сейчас демонстрирует прототип процессора, который имеет 80 ядер...