Articulo de referencia

Monitor de alteración de archivos

En informática , el Monitor de Modificación de Archivos (FAM, por sus siglas en inglés) y sgi_fam, es un subsistema desarrollado por Silicon Graphics para sistemas operativos ti...

En informática , el Monitor de Modificación de Archivos (FAM, por sus siglas en inglés) y sgi_fam, es un subsistema desarrollado por Silicon Graphics para sistemas operativos tipo Unix. El subsistema FAM permite a las aplicaciones supervisar ciertos archivos y recibir notificaciones cuando se modifican . Esto facilita enormemente el trabajo de las aplicaciones, ya que antes de la existencia de FAM, estas tenían que leer el disco repetidamente para detectar cualquier cambio, lo que resultaba en un alto consumo de disco y CPU .

Por ejemplo, una aplicación de gestión de archivos puede detectar si algún archivo ha cambiado y, en ese caso, actualizar el icono que se muestra o el nombre del archivo.

El sistema FAM consta de dos partes:

  • famd— el demonio FAM, que proporciona notificaciones y escucha las solicitudes. Los administradores pueden configurarlo editando el archivo./etc/fam.conf
  • libfam— la interfaz con el cliente

Aunque FAM pueda parecer innecesario ahora que muchos núcleos más recientes incluyen soporte de notificación integrado ( inotify en Linux , por ejemplo), usar FAM proporciona dos beneficios:

  • El uso constante de FAM permite que las aplicaciones funcionen en una mayor variedad de plataformas, independientemente del kernel.
  • FAM es compatible con la red y, si se inicia un monitor en un recurso compartido NFS , intentará contactar con un servidor FAM en el servidor NFS para que supervise el archivo localmente, lo cual resulta más eficiente.

El principal problema de FAM es que, durante la creación de un gran número de archivos (por ejemplo, durante el primer inicio de sesión en un entorno de escritorio), ralentiza todo el sistema, consumiendo muchos ciclos de CPU.

Véase también

Referencias

  • La página principal de FAM
  • El ojo vigilante de FAM – Artículo de Linuxdevcenter