Advantages and disadvantages
- Loading and unloading a module is much more flexible and faster
than recompiling a kernel and rebooting.
- You can try different options each time you load a module. Most
drivers that handle hardware will take options for I/O addresses, IRQ
or DMA numbers, plus more esoteric options like full or half duplex.
When you have problems getting a card to run correctly, the ability to
try different options can save hours.
- Makes it easier to maintain multiple machines on a single
- You have to plan ahead and decide which modules to compile.
- Modules have to be loaded. This can be manual or automatic but
it still has to be done.
- Symbol tables for modules are dynamic which complicates oops
debugging. ksymoops has to jump through hoops to extract the full and
current symbol table for a module. klogd does not do it correctly, nor
does SGI's kdb.
- Some people consider modules to be a security risk because a
cracker can load a module which hides itself and their code from the
real administrator. Personally I consider this to be misleading. Only
root can load modules and if a cracker already has root then your
machine is dead anyway.
©Keith Owens O. C. Software P/L 2000