miércoles, 26 de noviembre de 2008

5.8 Mecanismo de recuperación en caso de falla

Tanenbaum (1997) expone que “Los archivos y directorios se mantienen tanto en memoria principal como en disco, y debe tenerse cuidado para que los fallos del sistema no provoquen una pérdida de datos o una incoherencia en los mismos”.

Comprobación de coherencia.

Martínez Martha (2000) define que la parte de la información de directorios se almacena en la memoria principal (o en caché) para acelerar el acceso. La información de directorios en la memoria principal está, generalmente, más actualizada que la correspondiente información en el disco, porque la información de directorios almacenada en caché no se escribe necesariamente en el disco nada más producirse la actualización.

Martínez Martha (2000) expone que considere, entonces, el posible ejemplo de un fallo de la computadora. El contenido de la caché y de los búferes, así como de las operaciones de E/S que se estuvieran realizando en ese momento, pueden perderse, y con él se perderán los cambios realizados en los directorios correspondientes a los archivos abiertos. Dicho suceso puede dejar el sistema de archivos en un estado incoherente. El estado real de algunos archivos no será el que se describe en la estructura de directorios.

Con frecuencia, suele ejecutarse un programa especial durante el reinicio para comprobar las posibles incoherencias del disco y corregidas. El comprobador de coherencia (un programa del sistema tal como fsck en UNIX o chkdsk en MS-DOS), compara los datos de la estructura de directorios con los bloques de datos del disco y trata de corregir todas las incoherencias que detecte. Los algoritmos de asignación y de gestión del espacio libre dictan los tipos de problemas que el comprobador puede tratar de detectar y dictan también el grado de éxito que el comprobador puede tener en esta tarea.

Se utilizan soluciones por hardware y por software.

Según la investigación de Martínez Martha (2000), la solución en hardware:
  • Consiste en dedicar un sector del disco a la lista de bloques defectuosos.
  • Al inicializar el controlador por primera vez:
    -Lee la “lista de bloques defectuosos”.
    -Elige un bloque (o pista) de reserva para reemplazar los defectuosos.
    -Registra la asociación en la lista de bloques defectuosos.
    -En lo sucesivo, las solicitudes del bloque defectuoso utilizarán el de repuesto.

Martínez Martha (2000) también menciona que la solución en software:

  • Requiere que el usuario o el sistema de archivos construyan un archivo con todos los bloques defectuosos.
  • Se los elimina de la “lista de bloques libres”.
  • Se crea un “archivo de bloques defectuosos”:
    -Esta constituido por los bloques defectuosos.
    -No debe ser leído ni escrito.
    -No se debe intentar obtener copias de respaldo de este archivo.

No hay comentarios: