bdflush(8) | Manual del administrador de Linux | bdflush(8) |
bdflush - demonio del núcleo para vaciar buffers sucios al disco.
update [opt]
bdflush se usa para iniciar el demonio del núcleo para vaciar buffers sucios hacia el disco. El trabajo sucio real está en una función del núcleo y bdflush realmente desdobla un nuevo proceso que entonces llama a una función del núcleo que nunca regresa en núcleos antiguos. Bajo los nuevos núcleos (2.0+) esto ya no se necesita y este comportamiento se puede desactivar con la opción de compilación del núcleo NEWKERNEL.
bdflush actualmente desdobla un segundo demonio también, y este actúa como un proceso de actualización más tradicional, salvo que los búferes no se consideran listos para ser escritos hasta que envejezcan un poco. El reloj se inicia cuando el buffer se marca con el bit de sucio, y el buffer no se escribe hasta que pase un intervalo. El intervalo es distinto para un buffer de datos o un buffer de metadatos (como directorios, mapas de bits, boques indirectos, etc) y la configuración actual se muestra mediante bdflush cuando se ejecuta con argumentos en la línea de comando. Por defecto son treinta segundos para un buffer de datos y cinco segundos para un buffer de metadatos.
Los dos demonios se inician normalmente en /etc/rc con un comando:
/sbin/update
Observe que necesita tener los dos demonios en ejecución ya que cada uno sirve para un propósito diferente. Observe también que este comando se debería ejecutar antes de relizar cuaquier operación grande de E/S. En particular, update se debería llamar antes de que cualquier sistema de archivo sea verificado o montado como lectura/escritura.
Cuando bdflush se llama por un usuario sin privilegios de superusuario, se llama a flush() y sync() y termina. No deben haber más de 20 demonios de actualización corriendo a la vez.
bdflush se escribió como un ardid rápido por Eric Youngdale <ericy@gnu.ai.mit.edu>. El principal objetivo fue mejorar las prestaciones del núcleo realizando un vaciado de los búfferes sucios de una forma más inteligente, y añadir soporte para la agrupación de búfferes. Es libre para mejorarlo. Otros varios ardides son de Phil Bostley <bostley@cs.colorado.edu> y Daniel Quinlan <quinlan@yggdrasil.com>. El soporte Sleep fue añadido por Pavel Machek <pavel@atrey.karlin.mff.cuni.cz>.
Si hay, es más probable que sean del código del núcleo. El soporte Sleep sólo se preocupa de las lecturas de los discos, así pues, si no hay RAM suficiente para escritura (write-back), puede ralentizar los discos en un momento equivocado. El soporte Sleep también tiene en cuenta sólo el primer disco duro, por tanto ... Hay una pequeña confusión entre los dos nombres "bdflush" y "update". Actualmente el ejecutable se llama update, pero se compila de bdflush.c y los autores se refieren a él como bdflush.
Marzo 1997 | Linux |