Sistemas de archivos y fallas en discos

Sistemas de archivos y fallas en discos.

Sistema de archivos y fallas en discos.
Información sobre la plantilla
Sistemas de archivos.jpg
Sistemas de Archivos pueden considerarse como estructuras lógicas para la

manipulación de los datos contenidos en los soportes de almacenamiento y que por medio de esas estructuras se realizan las tareas de mantenimiento de las carpetas y archivos, el control del lugar donde se ubican físicamente, así como el cálculo del espacio

disponible.

Dos Sistemas de Archivos conocidos: NTFS y FAT, por lo que ahora ya es posible entender que los Sistemas de Archivos pueden considerarse como estructuras lógicas para la manipulación de los datos contenidos en los soportes de almacenamiento y que por medio de esas estructuras se realizan las tareas de mantenimiento de las carpetas y archivos, el control del lugar donde se ubican físicamente, así como el cálculo del espacio disponible, el que para soportes grandes de información no debe tener un índice alto de fragmentación por su incidencia negativa en el rendimiento del sistema.

Otros sistemas de archivos

No sólo puede establecerse una competencia entre NTFS y FAT, sino que también hay que mencionar otros sistemas de archivos con características particulares. La siguiente lista los incluye: •Tabla de Asignación de Archivos (FAT) •Tabla de Asignación de Archivos 32 (FAT32) •Sistema de Archivos de Nueva Tecnología (NTFS) •Sistema de Archivos de Alto Rendimiento (HPFS) •Sistema de Archivos NetWareLinux Ext2Linux Ext3UFSXFSJFSUNIX Estos Sistemas de Archivos pueden ser reconocidos por los sistemas operativos de uso común, y en algunos casos se establece una relación "muchos a muchos", es decir un sistema operativo puede reconocer más de un Sistema de Archivos y un Sistema de Archivos puede ser reconocido por más de un sistema operativo.

NetWare, Linux Ext2, UNIX y HPFS

Ubicación típica de dos particiones.

Estos Sistemas de Archivos, muy asociados a los sistemas operativos que los definieron, reflejan de una forma u otra las principales características de los últimos, así las facilidades del tratamiento de archivos de Novell, y sus bondades con la seguridad de los datos están presentes en la forma en que el Sistema de Archivos opera, y otro tanto sucede con Linux y UNIX estableciéndose para todos diferencias e igualdades en el tratamiento de los datos, el manejo de las particiones, las características del arranque del sistema operativo y la recuperación de la información. Al seguir con las comparaciones, se escoge ahora uno poco conocido por el usuario estándar: el HPFS "Sistema de Archivos de Alto Rendimiento", que es el Sistema de Archivos adoptado para el sistema operativo surgido en 1987 con la colaboración entre IBM y Microsoft, el OS/2, aunque unos años después el OS/2 seguiría su desarrollo por IBM, y Microsoft entraría de lleno en el desarrollo de Windows. La colaboración establecida debe haber favorecido que las primeras versiones de Windows NT soportaran el trabajo con el Sistema de Archivos HPFS, el cual utiliza una eficiente estructura para organizar el directorio que lo hace más veloz que FAT, también hace un uso racional del espacio libre basando su "traducción" en la asignación de datos de archivos por sectores y no por clusters al establecer un control adicional de su uso. El recurso más importante es el empleo de las llamadas bandas dentro del volumen, pues tienen un tamaño de 8 Mb con una estructura de asignación entre las bandas de 2 kb lo que permite que los cabezales de lectura del disco no tengan que ir a la pista cero para chequear aspectos claves del directorio como lo es el control del espacio libre. Abandonando las comparaciones Antes de llegar al uso del Sistema de Archivos deseado hay tres pasos fundamentales a ejecutar, el primero es dar formato al disco en bajo nivel, aunque con el avance de la tecnología, los fabricantes de discos duros nos han liberado de esta tarea algunos utilitarios que permiten escoger la forma en que se grabarán los datos en los platos de los discos y la fijación de parámetros tan importantes como el número de sectores y el de cilindros. El segundo paso es particionar el disco para que el sistema operativo maneje las particiones como discos independientes, y el tercer y último paso es el formateo en alto nivel, consistente en dividir la capacidad de cada sector en los bytes que serán usados como control y en los que se usarán para el almacenamiento de información.

Tareas que trae asociadas

ALgunas funciones relacionadas con el Sistema de Archivos.

•Crear el directorio raíz (root) •Crear la tabla índice para la localización (FAT, MFT) •Se recorre el disco completo en función de lectura y escritura lo que sirve de comprobación (algunos sistemas operativos consideran muy en serio las fallas de este paso para continuar a los siguientes), los sectores con fallas pueden marcarse para no ser usados. •Fijar el tamaño del cluster en dependencia de la capacidad de la partición. •Crear sector de arranque para el sistema de operación (en particiones de arranque). •Grabar la etiqueta de reconocimiento de la partición.

Antes de particionar el disco

Antes de particionar el disco, se debe entender que tal acción responde a dos causas fundamentales: La primera es poder manejar datos en discos de gran capacidad (muy comunes en la actualidad) con más eficiencia, y la segunda porque hay tipos de particiones para diferentes usos, es decir existen particiones primarias que son las que pueden contener cualquier sistema operativo, pero su formateo se hace con la condición de usar un sistema de archivos compatible con el sistema operativo que en ella se instale. Existen particiones extendidas que son divisiones adicionales que no contienen datos directamente, sino que guardan particiones lógicas en cantidades poco usuales. Éstas son las que almacenan la información, para ello deben formatearse antes en alto nivel, y pueden operar con sistemas de archivos diferentes porque cada partición lógica es un volumen diferente. Hay sistemas operativos que pueden establecer su arranque desde una partición lógica, entre éstos se cuentan el OS/2, OS/2 Warp, Linux y algunas versiones de Windows. En esta acción, el sistema operativo en cuestión asigna letras (C:, D:, etc.) a las particiones y el manejo por el usuario de estas "letras", aunque pueden ser cambiadas según se desee, debe hacerse teniendo presente que algunos de esos cambios provocan afectaciones en partes de la configuración del sistema. Un ejemplo ilustrativo, y que ocurre con frecuencia, es la afectación en el inicio de aplicaciones, el propio arranque del sistema y la apertura de algunos archivos asociados a aplicaciones como el Word, Excel, etc. La recomendación general cuando se utilizan varias particiones con diferentes sistemas de archivos es primero ubicar las particiones FAT y a continuación la NTFS si de ellas dos se trata, ya que los sistemas operativos que las usarán podrán siempre referirse a las letras asignadas en la partición FAT. De igual forma, vale aclarar que no se corre riesgo con los sistemas que usan FAT, pues nunca tendrán acceso a la partición que le sigue.

Apuntadores

Se puede agregar más información de forma simplificada al artículo anterior y que no fuera muy extenso, que en los sistemas de archivos (caso típico Linux) es común que exista un índice de localización de los datos, un apuntador al área de almacenamiento y un área de almacenamiento. En el primero de esos tres elementos está reflejada la llamada estructura de directorio (la estructura de directorio es semejante a un árbol invertido, de ahí viene el concepto de directorio raíz), con información del nombre del archivo, su tipo y un enlace al apuntador que lleva a la zona de almacenamiento, y si se desea cambiar un archivo de un directorio a otro, en lugar de mover el archivo en la zona de almacenamiento del disco, sólo se arregla en la estructura de directorio el apuntador al nuevo directorio destino y ya "se movió" el archivo. Un caso parecido ocurre cuando se quiere borrar un archivo, para ello únicamente se elimina la información referida a él en la estructura de directorio, y es así como es posible encontrar utilitarios capaces de restaurar datos "borrados", incluso después de un formateo. Otro caso típico del "juego" con las estructuras lógicas de un sistema de archivos es el recurso de la papelera de reciclaje de Windows. Esa "novedad" tiene un antecedente en Macintosh y aunque en este último es posible hacer más cosas que con la papelera, el resultado es el mismo: trabajar con los apuntadores de manera temporal por si el usuario se arrepiente de la acción de borrado.

Sistemas de archivos ante fallas

La propia existencia de más de un sistema de archivos, indica que además de puntos comunes o tareas encargadas a ellos, hay también muchas diferencias, puntos débiles y fuertes en éstas. Así, hay Sistemas de Archivos que realizan sus operaciones de manejo de datos en memoria operativa, en cuyos casos si falla la corriente y no hay respaldo eléctrico para un fin normal y con seguridad, se perderán datos, por supuesto que los creadores también han inventado la forma de recuperarlos (léase "el journaling de Linux"). Casi todos los sistemas tienen el llamado "file system check" implementado, pero si no hay respaldo, con seguridad se perderán datos y tiempo. Con este simple ejemplo se entra en el mundo de las fallas provocadas por la inconsistencia de los datos. Se habla de las Fallas Lógicas relacionadas con las tablas de particiones, el sector de arranque, el directorio raíz, el árbol de directorios y archivos, clusters perdidos o cadenas rotas. Estas fallas si son sencillas pudieran resolverse con una utilidad como el scandisk, pero también pueden llegar a ser severas y necesitar la intervención de herramientas que no forman parte del sistema operativo para la recuperación de la información. En una partición de arranque, una inconsistencia de los datos puede detener el arranque del sistema y también provocar el "pantallazo" azul con la desagradable información de que el volumen es desconocido como ocurre en Windows XP. Aunque el Sistema de Archivos es casi el total responsable, se debe ayudar con una correcta elección y evitar otros problemas que influyen, como es la alta fragmentación provocada por la copia y borrado constante en las particiones y evitar los finales bruscos no deseados causados por la conexión sin respaldo. Referido a la fragmentación, si se aplica matemática simple y con el conocimiento de que el Sistema de Archivos maneja los datos en bloques, en uno mayor que el usado por los datos, se pierde espacio, y si a esto se suma dispersión de los bloques de un mismo archivo en el disco, el resultado final será el aumento del tiempo de acceso promedio de las cabezas de lectura/escritura, una incidencia negativa en el rendimiento, y mayor probabilidad de que ante una falla no haya posibilidad de recuperar datos perdidos. Algunos Sistemas de Archivos utilizan la llamada "bitácora" y otros complejos mecanismos como son los Metadatos (datos sobre los datos), para lograr tres características importantes: Preservar los datos, Predecir la Falla y Completarla operación hasta el final para poder Revertirla de igual forma si hiciera falta (atomicidad). La "bitácora" es muy parecida al diario de un capitán de barco, todas las operaciones con archivos se registran en una bitácora física o lógica lo cual permite en buena medida volver al punto anterior, algo parecido al Punto de Restauración en Windows, pero de menos alcance y muy operativo (se actualiza en segundos).

Algo para los programadores

Codigo delphi.jpg

En el desarrollador Delphi resulta fácil la comunicación con el Sistema de Archivos, aunque será mucho más viable si se usa la API de Windows como interfaz, ya que permite hacer un grupo numeroso de acciones con archivos y directorios mediante sus funciones, pues contienen parámetros que pueden modificarse por el programador, y otros reservados para garantizar la llamada "atomicidad" de una operación donde se manipulan datos. Véase como ejemplo la función MoveFile para ilustrar lo expresado al inicio respecto a mover archivos, la sintaxis de esta función en la API de Windows es: El resultado práctico de ésta es renombrar el archivo o directorio identificado con el parámetro lpExistingFileName con el nuevo nombre identificado por lpNewFileName, si se trata de mover un directorio la acción incluye los directorios contenidos (recuerde la estructura de árbol). Vale aclarar que se puede encontrar con una falla lógica si se intenta mover el directorio o el archivo hacia otro volumen o partición, en tal caso no se alcanza una total comunicación con el Sistema de Archivos lo cual confirma su limitado papel como una interfaz.

Fuentes

Revista Giga, número 3 de 2008, página 15-17.