Um módulo é a implementação do
suporte a uma determinada funcionalidade.
Inicialmente o linux não tinha suporte a módulos,
o que fazia com que todos os drivers tivessem que ser
incluídos de forma estática no kernel, assim, se o
usuário eventualmente precisasse de acesso ao disco
flexível ou a um zip drive os drivers dos dois tinham que
ser incluídos no kernel, gastando espaço de
memória privilegiado no kernel.
Com o advento dos módulos isto passou a ser gerenciado de
forma otimizada, o suporte a drivers eventualmente utilizados (como
o floppy.o e ppa.o, disco flexível e zip drive,
respectivamente) puderam ser compilados como módulos e
somente carregados, com conseqüente utilização
de recursos privilegiados do kernel quando fossem efetivamente
necessários, sendo descarregados quando não
estivereem mais sendo utilizados.
Recomenda-se a leitura dos seguintes documentos, que descrevem
mais detalhadamente o funcionamento dos módulos no
Linux:
http://ldp.conectiva.com.br/HOWTO/Kernel-HOWTO.html
http://ldp.conectiva.com.br/HOWTO/mini/Modules.html
http://ldp.conectiva.com.br/LDP/tlk/modules/modules.html