viernes, 15 de abril de 2011

Sistema de archivos

Un sistema de archivos es un método para el almacenamiento y organización de los archivos y datos de una computadora, para hacer más fácil la tarea encontrarlos y accederlos.

  • Se utilizan en dispositivos de almacenamiento como HD y CD-ROM e involucran el mantenimiento de la localización física de los archivos.
  • Los SO tienen su propio sistema de archivos para estructurar la información guardad y puede representarse utilizando un gestor de archivos de forma textual (el shell de DOS o Linux) o gráficamente (Explorador de archivos en Windows).
  • El software del sistema de archivos se encarga de organizar los archivos y directorios, manteniendo un registro de qué bloques pertenecen a qué archivos, qué bloques no se han utilizado y las direcciones físicas de cada bloque. Un archivo puede conformarse por varios bloques.
  • Proveen métodos para crear, mover, renombrar y eliminar tanto archivos como directorios.
  • Pueden variar en el método de acceso, seguridad, capacidades máximas soportadas de almacenamiento o bloque mínimo direccionable.
Clúster

  • Un clúster es la unidad de almacenamiento en un disco con una determinada cantidad fija de bytes.
  • Un disco está dividido en miles de clústeres de igual tamaño y los archivos son repartidos y almacenados en distintos clústeres. El tamaño se determina en el formateo del disco y suele ser de 512 bytes, pero la cifra puede ascender a 4.096 bytes.
  • Cuando se almacena en disco un archivo más grande que un clúster, este se subdivide en distintos clústeres. Por ejemplo: Imaginemos un disco con clústeres de 512 bytes. Si se almacena un archivo de 1500 bytes, 512 bytes de ése archivo serán almacenados en un solo clúster en una posición física del disco, otros 512 bytes serán almacenados en otro clúster en otra posición determinada del disco, que puede o no ser congruente físicamente al anterior. Los 476 bytes restantes de ése archivo serán almacenados en otro clúster, sobrando 36 bytes que quedan sin utilizar del clúster (ese espacio está virtualmente perdido). Por lo tanto ese archivo quedará segmentado (fragmentado) en tres clústeres que pueden o no ocupar partes físicas congruentes en un disco. Cuando se intenta leer ese archivo, el cabezal lector deberá moverse de un lado a otro del disco para poder leerlo definitivamente.
  • En general, los programas desfragmentadores de discos juntan físicamente (en este caso) los tres clústeres de forma congruente y, por lo tanto, su lectura será más rápida.
  • Muchas veces los clústeres pueden verse afectados físicamente y, por lo tanto, deben ser lógicamente marcados como sectores defectuoso para que no se intente almacenar información en ellos (de lo contrario la información se pierde).
Fragmentación


  • En los sistemas de archivos se pueden distinguir dos tipos de fragmentación:
  1. Fragmentación Interna: es la que se produce dentro de un clúster (el último de los que corresponden a un archivo). La única manera de reducirla es utilizar clúster pequeños.
  2. Fragmentación Externa: es el almacenamiento no contiguo de cluster que conforman un archivo. Se produce con la asignación y el borrado de cluster de los archivos. Para solucionar el problema se utilizan programas defragmentadores.
  • El proceso de defragmentación consta de ordenar los cluster distribuidos a través de todo el disco, para mejorar la velocidad de acceso y acomodar de mejor forma el espacio libre del dispositivo. Como este proceso consta en la reorganización de partes de archivos, requiere de suficiente memoria para realizar los movimientos de los bloques de información. Al mover en forma física la información, la estructura lógica no sufre alteraciones.
  • La fragmentación también suele darse en la memoria principal, no solamenten en dispositivos de almacenamiento masivo.
Categorías

Los sistemas de archivos pueden clasificarse en tres categorías:

Sistema de archivos de disco: Este sistema de archivos está diseñado para el almacenamiento, acceso y manipulación de archivos en un dispositivo de almacenamiento.
  • Ejemplos: EFSa, EXT2, EXT3, FAT (DOS y algunas versiones de Windows), UMSDOS, FFS, Fossil ,HFS (para Mac OS), HPFS, ISO 9660 (de solo lectura para CD-ROM), JFS, kfs, MFS (para Mac OS), Minix, NTFS ( Windows NT, XP y Vista), OFS, ReiserFS, Reiser4, UDF (usado en DVD y en algunos CD-ROM), UFS, XFS, etc.
Sistema de archivos de red: Tipo especial de sistema de archivos diseñado para acceder a sus archivos a través de una red. Este sistema se puede clasificar en dos:
  • Sistemas de archivos distribuidos: no proporcionan E/S en paralelo [AFS, AppleShare, CIFS (también conocido como SMB o Samba), Coda, InterMezzo, NSS (para sistemas Novell Netware 5), NFS]
  • Sistemas de archivos paralelos: proporcionan una E/S de datos en paralelo [PVFS, PAFS]
Sistema de archivos de propósito especial: Aquellos tipos de sistemas de archivos que no son ni sistemas de archivos de disco, ni sistemas de archivos de red.
  • Ejemplos: acme (Plan 9), archfs, cdfs, cfs, devfs, udev, ftpfs, lnfs, nntpfs, plumber (Plan 9), procfs, ROMFS, swap (Linux), sysfs, TMPFS, wikifs (Plan 9, Inferno), LUFS, etc.