Так, поддержка загружаемых модулей присутствует в Linux. Linux получает от загружаемых модулей все те же преимущества, что Solaris, и требует столь же ограниченного вмешательства в работу этих модулей. Обычно система Linux выполняет обнаружение устройств и определение соответствующих модулей в процессе первоначальной установки, не требуя участия системного администратора. Но это не всегда так. Устройства могут не определяться в процессе установки либо могут добавляться в уже существующую систему. Чтобы справиться с подобными ситуациями, необходимо знать команды Linux, применяемые для работы с загружаемыми модулями.
Чтобы выяснить, какие модули установлены в системе Linux, воспользуйтесь командой Ismod. Вот пример для системы Red Hat:
|
Module Size Used by ide-cd 26848 0 (autoclean) cdrom 27232 0 (autoclean) [ide-cd] autofs 11264 1 (autoclean) smc-ultra 6048 1 (autoclean) 8390 6816 0 (autoclean) [smc-ultra] ipchains 38976 0 (unused) nls_iso8859-1 2880 1 (autoclean) nls_cp437 4384 1 (autoclean) vfat 9392 1 (autoclean) fat 32672 0 (autoclean) [vfat]
Загружаемые модули решают широкий спектр задач. Некоторые реализуют драйверы устройств (например, модуль smc-ultra является драйвером для сетевой карты SMC Ultra Ethernet), другие обеспечивают поддержку многочисленных типов файловых систем, применяемых в Linux, таких как файловая система IS08859 для компакт-дисков или система DOS FAT с поддержкой длинных имен файлов (vfat).
Каждая запись перечня, выведенного командой lsmod, начинается с имени модуля, за которым следует размер модуля. Как можно видеть по полю Size, модули имеют небольшие размеры. Часто модули используют другие модули для решения своей задачи. Взаимосвязь модулей известна в качестве зависимостей модулей, и эти зависимости отражены в перечне модулей. В нашем примере драйвер smc-ultra в своей работе полагается на модуль 8390, как можно видеть из записи для 8390 - она заканчивается строкой «[smc-ultra]». В записи для 8390 модули, зависящие от него, перечислены под заголовком Used by. Можно наблюдать и другие зависимости: vfat зависит от fat , a cdrom зависит от ide-cd.
Большинство записей примера содержит строку «(autoclean)». Строка означает, что модуль может удаляться из памяти автоматически, если он не задействован. autoclean - это параметр. Параметры работы модулей можно указывать, вручную загружая их при помощи команды insmod.