Автор: serg2003 Дата: 28.09.2004 17:47
[
www.kroah.com]
Тут развернулась дискуссия между саном и линукс-сообществом .
Сан , как известно , открещивается от разработки открытого линукс-ядра ,
обьясняя это тем , что такое ядро ненадежно,неуправляемо , несовместимо в бинарном плане.
Они обвиняют торвальдса в том , что у ядра до сих пор нет дебаггера.
Greg Kroah-Hartman высказался по этому поводу так :
в главном дереве ядра появился kexec crashdump . Но основные разработчики по-прежнему
игнорируют его .
По поводу кернел-дебаггера грег говорит , что он ему вообще ни разу не понадобился .
Хотя мортон вставил такой патч с дебагером в дерево .
Грег обьясняет , что эти фичи не используются , потому что в комьюнити они не нужны.
Сан приводят такой аргумент , что драйверы для солярки версии 2.5.1 например для нвидии
совместимы с версией солярки 10 . Ну да , аргумент неслабый .
На что грег заявил , что приложения , написанные для версии 1.0 , работают на ядре 2.6 .
Если приложение не работает на бинарном уровне , его всегда можно пофиксить .
В чем проблема ? Если бага драйвера в ядре , она фиксится , и все счастливы

В качестве примера грег приводит историю с виндами : те уже несколько раз переписывали
usb-шный интерфейс , и каждый раз мелкие вынуждены оставлять в ядре все предыдущие
версии для совместимости - вот почему каждая версия виндов толще предыдущей .
В линуксе другой подход , потому он гораздо компактнее.
Далее-следующий аргумент : у ядра масса опций . Если для каждой опции ядра строить
драйвер , совместимый на бинарном уровне именно для конкретной опции ,
число таких драйверов может стать умопомрачительным.
И вообще , в мире линукса налицо тенденция - драйвера отторгаются от ядра наружу .
Если апиш-ная функция не используется ядром - она удаляется .
Если вам нужно проверить совместимость вашего драйвера на уровне ядра - встраивате его в ядро
и фиксируйте баги .
> число таких драйверов может стать умопомрачительным.
Если сделать единый API дров хотя бы в пределах ветки, то таких проблем даже не возникнет, а попутно уйдет множество других проблем, присутствующих в данный момент.
Ну сами подумайте - каким образом поменяется даже бинарный интерфейс при изменении в условии где-нибудь в IP-стэке единицы на ноль, чтобы пофиксить какой-нибудь DoS ? А дрова пересобирать почему-то нужно.