Kmod: El cargador de modulos del Kernel (The Kernel Module Loader)
Kirk Petersen
Traducido por Santiago Romero

Kmod es un simple reemplazo para kernenld. Consite en un reemplazo
de la funci�n request_module() y un hilo (thread) del kernel llamado
kmod. Cuando el kernel necesita un m�dulo, kmod se despierta y
ejecuta modprobe mediante execve(), pas�ndole el nombre pedido.

Si tiene el sistema de ficheros /proc montado, puede especificar el
path para modprobe (donde el kernel lo buscar�) haciendo:

	echo "/sbin/modprobe" > /proc/sys/kernel/modprobe

Para descargar peri�dicamente los m�dulos no usados, ponga algo
como lo sigueinte en una entrada de crontab del usuario root:

	0-59/5 * * * * /sbin/rmmod -a

Kmod s�lo carga m�dulos. Kerneld pod�a hacer m�s (aunque nada en el
kernel est�ndard usaba sus otras funcionalidades). Si usted requiere
caracter�sticas como request_route, le sugerimos que tome una
aproximaci�n similar. Una simple funci�n request_rout podr�a ser
llamada, y un hilo kroute en el kernel ser ejecutado para hacer el
trabajo. Pero probablemente deber�amos mantener esto al m�nimo.

Kerneld ten�a tambi�n un mecanismo para almacenar las caracter�sticas
o par�metros de los drivers de dispositivo. Esto puede hacerse f�cilmente
con modprobe. Cuando un m�dulo es descargado, modprobe podr�a mirar
en algun lugar de configuraci�n para cada driver (/proc/sys/drivers/blah)
para almacenar en un fichero los par�metros de configuraci�n del
driver de dispositivo. Cuando un m�dulo es cargado, simplemente deber�a
volcar dicho fichero en el lugar adecuado del sistema de ficheros /proc.
O tal vez un script podr�a ser un par�metro en /etc/modules.conf.
Hay muchas maneras que podr�a funcionar (yo prefiero usar /proc).

Si kerneld funcionaba, �por qu� reemplazarlo?

- kerneld usaba SysV IPC, que ahora puede ser creado como m�dulo.
  Aparte, SysV IPC es feo y deber�a ser evitado (al menos por las
  cosas a nivel de kernel).

- Ambos Kmod y Kerneld acaban haciendo la misma cosa (llamar a
  modprobe), as� que... �porque no evitar el hombre intermedio?

- eliminar las cosas relacionadas con kerneld de ipc/msg.c lo
  hizo un 40% m�s peque�o en tama�o.

- kmod informa de los errores a trav�s de los mecanismos normales
  del kernel, lo cual evita el problema entre kerneld y los socks
  modulares de dominios Unix.