domingo, 25 de enero de 2009

Módulos

Módulos.
Cuando se solicita la ejecución de una función no disponible en el kernel residente, el módulo correspondiente se carga dinámicamente en memoria
→ Después de un período específico de inactividad, el módulo se puede quitar de la memoria
→ Un subproceso del kernel se encarga de la carga dinámica de los módulos
→ No todos los módulos se cargan automáticamente:
→ alguna aplicaciones cargan los módulos que necesitan en el arranque ( ficheros /etc/init.d)
→ se pueden cargar / descargar módulos "a mano" usando comandos como modprobe
→ en algunas distribuciones (debian), es posible cargar mulos al inicio indicándolo en el fichero /etc/modules
Los ficheros de módulos se almacenan, normalmente, en el directorio /lib/modules//


Comandos para el manejo de módulos:
→ Comando lsmod: lista los módulos cargados
→ obtiene la información del fichero /proc/modules
→ Comando insmod: carga un módulo en el kernel
→ formato: insmod [opciones] módulo
→ es preferible usar el comando modprobe
→ Comando rmmod: sca un módulo del kernel
→ formato rmmod [opciones] módulo
→ es preferible usar el comando modprobe -r
→ Comando modprobe: añade y quita módulos del kernel de forma inteligente
→ formato: modprobe [opciones] módulo
→ Algunas opciones:
→ -r o --remove descarga el módulo
→ -C o --config configfile usa el fichero configfile en vez de la configuración.
→ -c o --showconfig muestra los ficheros de configuración
→ -n o --dry-run simulaciónh, no carga los módulos
→ -v o --verbose imprime mensajes sobre lo que hace el programa
→ modprobe maneja las dependencias entre módulos en base al fichero modules.dep generado por el comando depmod
→ Comando depmod: genera un fichero con las dependencias entre módulos
→ fichero /lib/modules//modules.dep
→ si modificamos los módulos, se debe ejecutar depmod para actualizar el fichero de dependencias
→ Comando modinfo permite obtener información sobre los módulos


Ficheros de configuración:
Los ficheros de configuración que usa modprobe dependen de los paquetes de administración de módulos que tengamos instalados
→ Kernel 2.4,paquete modutils, fichero /etc/modules.conf + directorio /etc/modutils/
→ Kernel 2.6, paquete module-init-tools, fichero /etc/modprobe.conf + directorio /etc/modprobe.d/
En estos ficheros se especifican alias para los módulos, opciones para módulos, acciones a realizar en la carga y descarga del módulo, etc.