38d1736f

Зачем это нужно?


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

  • Если надо собрать ядра для нескольких систем, которые мало отличаются (например, сетевыми платами) - то можно собрать одно ядро и несколько модулей, вместо сборки отдельных ядер для каждой системы.

  • Для разработчиков модули более просты на стадии проверки - нет необходимости каждый раз перезагружать систему для загрузки или выгрузки драйвера. (Это относится ко всем модулям, не только загружаемым kerneld).

  • Это экономит память, используемую ядром, то есть, у вас больше памяти для приложений. Память, используемая ядром, никогда не кладется в раздел подкачки (swap), поэтому, если у вас 100 кб неиспользуемых драйверов внутри ядра, вы просто теряете оперативную память.

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

  • Создатели дистрибутивов Linux-а не должны собирать 284 разных загрузочных образов (boot image) - каждый пользователь загружает драйверы для своего оборудования. В последних версиях некоторых дистрибутивов встроено автоматическое определение оборудования, которое само загружает только необходимые модули.

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



Содержание раздела