Sistemas de Archivos
Sistemas
de Archivos: Es la manera en que una computadora organiza, da nombre, almacena
y manipula los archivos.
¿Qué
es?
Aunque
los discos rígidos pueden ser muy chicos, aun así contienen millones de
bits, y por lo tanto necesitan organizarse para poder ubicar la información.
Éste es el propósito del sistema de archivos. Recuerde que un disco
rígido se conforma de varios discos circulares que giran en torno a un eje. Las
pistas (áreas concéntricas escritas a ambos lados del disco) se dividen en
piezas llamadas sectores (cada uno de los cuales contiene 512 bytes). El
formateado lógico de un disco permite que se cree un sistema de archivos en el
disco, lo cual, a su vez, permitirá que un sistema operativo (DOS, WINDOWS,
UNIX,..) use el espacio disponible en disco para almacenar y utilizar archivos.
El sistema de archivos se basa en la administración de clústers, la unidad de
disco más chica que el sistema operativo puede administrar.
Un
clúster consiste en uno o más sectores. Por esta razón, cuanto más grande sea
el tamaño del clúster, menores utilidades tendrá que administrar el sistema
operativo...
Por el
otro lado, ya que un sistema operativo sólo sabe administrar unidades enteras de
asignación (es decir que un archivo ocupa un número entero de clústers),
cuantos más sectores haya por clúster, más espacio desperdiciado habrá.
En
realidad, la elección de un sistema de archivos depende en primer lugar del
sistema operativo que esté usando. Generalmente, cuanto más reciente sea el
sistema operativo, mayor será el número de archivos que admita. Por esto, se
necesita contar con FAT16 en DOS y en las primeras versiones de Windows 95.
Empezando
por Windows 95 OSR2, se puede elegir entre los sistemas de archivos FAT16 y
FAT32. Si el tamaño de la partición es mayor a 2GB, se excluyen los sistemas de
archivos FAT y usted necesitará usar el sistema FAT32 (o modificar el tamaño de
la partición).
Por
debajo de este límite, se recomienda FAT16 para particiones con una capacidad
menor a 500Mb. De lo contrario, es preferible usar FAT32.
En el
caso de Windows NT (hasta la versión 4) usted puede elegir entre el sistema
FAT16 y NTFS. No se admite FAT32. Por lo general, se recomienda el sistema NTFS
ya que brinda una mayor seguridad y un mejor rendimiento que el sistema FAT.
Actualmente, Microsoft recomienda el uso de una partición de tipo FAT pequeña
(de entre 250 y 500MB) para el sistema operativo, para poder iniciar el sistema
desde un disquete DOS de arranque en caso de que ocurra una catástrofe, y el
uso de una segunda partición para almacenar sus datos.
En
Windows NT5, hay muchas más opciones ya que acepta particiones FAT16, FAT32 y
NTFS. Nuevamente, se recomienda el sistema de archivos más reciente (NTFS 5),
ya que ofrece muchas más opciones que los sistemas FAT. Por las mismas razones
mencionadas anteriormente, aún puede elegir una partición del tipo FAT.
Cuando coexisten varios sistemas operativos en la misma
máquina, la elección de un sistema de archivos es un gran problema. Debido a
que el sistema de archivos está estrechamente ligado al sistema operativo,
cuando existen varios sistemas operativos, usted debe elegir un sistema de
archivos para cada uno, teniendo en cuenta que es posible que deba acceder a
los datos de un sistema operativo desde otro. Una solución sería la de usar
particiones FAT para todos los sistemas, asegurándose de que las particiones no
sean mayores a 2 GB. La solución más apropiada sería la de utilizar, para cada
SO, una partición cuyo sistema de archivos sea el que mejor se adapte a ésta y
utilizar una partición FAT16 dedicada para que los diferentes sistemas
operativos compartan datos.
Un sistema de archivos son los métodos y estructuras de
datos que un sistema operativo utiliza para seguir la pista de los archivos de
un disco o partición; es decir, es la manera en la que se organizan los
archivos en el disco. El término también es utilizado para referirse a una
partición o disco que se está utilizando para almacenamiento, o el tipo del
sistema de archivos que utiliza. Así uno puede decir “tengo dos sistemas de
archivo” refiriéndose a que tiene dos particiones en las que almacenar
archivos, o que uno utiliza el sistema de “archivos extendido”, refiriéndose al
tipo del sistema de archivos.
La diferencia entre un disco o partición y el sistema de archivos que
contiene es importante. Unos pocos programas (incluyendo, razonablemente,
aquellos que crean sistemas de archivos) trabajan directamente en los sectores
crudos del disco o partición; si hay un archivo de sistema existente allí será
destruido o corrompido severamente. La mayoría de programas trabajan sobre un
sistema de archivos, y por lo tanto no utilizarán una partición que no contenga
uno (o que contenga uno del tipo equivocado).
Antes de que una partición o disco sea utilizada como un sistema de
archivos, necesita ser iniciada, y las estructura de datos necesitan escribirse
al disco. Este proceso se denomina construir un sistema de archivos.
La mayoría de los sistemas de archivos UNIX tienen una estructura
general parecida, aunque los detalles exactos pueden variar un poco. Los
conceptos centrales son superbloque, nodo-i, bloque
de datos, bloque de directorio, y bloque de indirección.
El superbloque tiene información del sistema de archivos en conjunto, como su
tamaño (la información precisa aquí depende del sistema de archivos). Un nodo-i
tiene toda la información de un archivo, salvo su nombre. El nombre se almacena
en el directorio, junto con el número de nodo-i. Una entrada de directorio
consiste en un nombre de archivo y el número de nodo-i que representa al
archivo. El nodo-i contiene los números de varios bloques de datos, que se
utilizan para almacenar los datos en el archivo. Sólo hay espacio para unos
pocos números de bloques de datos en el nodo-i; en cualquier caso, si se
necesitan más, más espacio para punteros a los bloques de datos son colocados
de forma dinámica. Estos bloques colocados dinámicamente son bloques
indirectos; el nombre indica que para encontrar el bloque de datos, primero hay
que encontrar su número en un bloque indirecto.
Los sistemas de archivos UNIX generalmente nos permiten crear un agujero en
un archivo (esto se realiza con la llamada al sistema lseek(); compruebe
su página de manual), lo que significa que el sistema de archivos simplemente
intenta que en un lugar determinado en el archivo haya justamente cero bytes,
pero no existan sectores del disco reservados para ese lugar en el archivo
(esto significa que el archivo utilizará un poco menos de espacio en disco).
Esto ocurre frecuentemente en especial para pequeños binarios, librerías
compartidas de Linux, algunas bases de datos, y algunos pocos casos especiales.
(los agujeros se implementan almacenando un valor especial en la dirección del
bloque de datos en el bloque indirecto o en el nodo-i. Esta dirección especial
indica que ningún bloque de datos está localizado para esa parte del archivo, y
por lo tanto, existe un agujero en el archivo).
Linux soporta una gran cantidad de tipos diferentes de
sistemas de archivos.
minix
El más antiguo y supuestamente el más fiable, pero muy limitado en
características (algunas marcas de tiempo se pierden, 30 caracteres de longitud
máxima para los nombres de los archivos) y restringido en capacidad (como mucho
64 MB de tamaño por sistema de archivos).
xia
Una versión modificada del sistema de archivos minix que eleva los
límites de nombres de archivos y tamaño del sistema de archivos, pero por otro
lado no introduce características nuevas. No es muy popular, pero se ha
verificado que funciona muy bien.
ext3
El sistema de archivos ext3 posee todas las propiedades del sistema de
archivos ext2. La diferencia es que se ha añadido una bitácora (journaling).
Esto mejora el rendimiento y el tiempo de recuperación en el caso de una caída
del sistema. Se ha vuelto más popular que el ext2.
ext2
El más sistema de archivos nativo Linux que posee la mayor cantidad de
características. Está diseñado para ser compatible con diseños futuros, así que
las nuevas versiones del código del sistema de archivos no necesitará rehacer
los sistemas de archivos existentes.
ext
Una versión antigua de ext2 que no es compatible en el futuro. Casi
nunca se utiliza en instalaciones nuevas, y la mayoría de la gente que lo
utilizaba han migrado sus sistemas de archivos al tipo ext2.
reiserfs
Un sistema de archivos más robusto. Se utiliza una bitácora que provoca
que la pérdida de datos sea menos frecuente. La bitácora es un mecanismo que
lleva un registro por cada transacción que se va a realizar, o que ha sido
realizada. Esto permite al sistema de archivos reconstruirse por sí sólo
fácilmente tras un daño ocasionado, por ejemplo, por cierres del sistema
inadecuados.
Adicionalmente,
existe soporte para sistemas de archivos adicionales ajenos, para facilitar el
intercambio de archivos con otros sistemas operativos. Estos sistemas de
archivos ajenos funcionan exactamente como los propios, excepto que pueden
carecer de características usuales UNIX , o tienen curiosas limitaciones, u
otros inconvenientes.
msdos
Compatibilidad con el sistema de archivos FAT de MS-DOS (y OS/2 y Windows
NT).
umsdos
Extiende el dispositivo de sistema de archivos msdos en Linux para
obtener nombres de archivo largos, propietarios, permisos, enlaces, y archivos
de dispositivo. Esto permite que un sistema de archivos msdos normal pueda
utilizarse como si fuera de Linux, eliminando por tanto la necesidad de una
partición independiente para Linux.
vfat
Esta es una extensión del sistema de archivos FAT conocida como FAT32.
Soporta tamaños de discos mayores que FAT. La mayoría de discos con MS Windows
son vfat.
iso9660
El sistema de archivos estándar del CD-ROM; la extensión popular Rock
Ridge del estándar del CD-ROM que permite nombres de archivo más largos se
soporta de forma automática.
nfs
Un sistema de archivos de red que permite compartir un sistema de archivos
entre varios ordenadores para permitir fácil acceso a los archivos de todos
ellos.
smbfs
Un sistema de archivos que permite compartir un sistema de archivos con
un ordenador MS Windows. Es compatible con los protocolos para compartir
archivos de Windows.
hpfs
El sistema de archivos de OS/2.
sysv
EL sistema de archivos de Xenix, Coherent y SystemV/386..
La
elección del sistema de archivos a utilizar depende de la situación. Si la
compatibilidad o alguna otra razón hacen necesario uno de los sistemas de
archivos no nativos, entonces hay que utilizar ése. Si se puede elegir
libremente, entonces lo más inteligente sería utilizar ext3, puesto que tiene
todas las características de ext2, y es un sistema de archivos con bitácora.
Un “Archivo” es un
conjunto de registros relacionados
El “Sistema de Archivos” es un
componente importante de un S. O. y suele contener:
- Métodos de acceso” relacionados con la manera de acceder a
los datos almacenados en archivos.
- “Administración de archivos” referida a la provisión de mecanismos
para que los archivos sean almacenados, referenciados, compartidos y
asegurados.
- “Administración del almacenamiento auxiliar” para la asignación de espacio a los
archivos en los dispositivos de almacenamiento secundario.
- “Integridad del archivo” para garantizar la integridad de la
información del archivo.
El
sistema de archivos está relacionado especialmente con la administración del
espacio de almacenamiento secundario, fundamentalmente con el almacenamiento de
disco.
Una forma de organización de un
sistema de archivos puede ser la siguiente:
- Se utiliza una “raíz” para
indicar en qué parte del disco comienza el “directorio raíz ”.
- El “directorio raíz” apunta a
los “directorios de usuarios”.
- Un “directorio de usuario” contiene
una entrada para cada uno de los archivos del usuario.
- Cada entrada de archivo apunta al lugar del
disco donde está almacenado el archivo referenciado.
Los nombres de archivos solo
necesitan ser únicos dentro de un directorio de usuario dado.
El nombre del sistema para un
archivo dado debe ser único para el sistema de archivos.
En sistemas de archivo “jerárquicos” el
nombre del sistema para un archivo suele estar formado como el “nombre
de la trayectoria” del directorio raíz al archivo.
Muchos
S. O. soportan varios tipos de archivos, por ej.: archivos regulares, directorios, archivos especiales de
caracteres, archivos especiales de bloques, etc., donde:
- Los Archivos Regulares son
aquellos que contienen información del usuario.
- Los Directorios son archivos
de sistema para el mantenimiento de una estructura del sistema de
archivos.
- Los Archivos Especiales de Caracteres:
- Tienen relación con la e / s.
- Se utilizan para modelar dispositivos
seriales de e / s (terminales, impresoras, redes, etc.).
- Los Archivos Especiales de Bloques se
utilizan para modelar discos.
Cada archivo tiene:
- Su nombre y datos.
- Elementos adicionales llamados atributos,
que varían considerablemente de sistema a sistema.
Algunos
de los posibles atributos de archivo son:
- “Protección”: quién debe tener acceso y de qué forma.
- “Contraseña”: contraseña necesaria para acceder al
archivo.
- “Creador”: identificador de la persona que creó el archivo.
- “Propietario”: propietario actual.
- “Bandera exclusivo - para - lectura”: 0 lectura / escritura, 1 para lectura
exclusivamente.
- “Bandera de ocultamiento”: 0 normal, 1 para no exhibirse en listas.
- “Bandera de sistema”: 0 archivo normal, 1 archivo de sistema.
- “Bandera de biblioteca”: 0 ya se ha respaldado, 1 necesita
respaldo.
- “Bandera ascii / binario”: 0 archivo en ascii, 1 archivo en
binario.
- “Bandera de acceso aleatorio”: 0 solo acceso secuencial, 1 acceso
aleatorio.
- “Bandera temporal”: 0 normal, 1 eliminar al salir del
proceso.
- “Banderas de cerradura”: 0 no bloqueado, distinto de 0 bloqueado.
- “Longitud del registro”: número de bytes en un registro.
- “Posición de la llave”: ajuste de la llave dentro de cada
registro.
- “Longitud de la llave”: número de bytes en el campo llave.
- “Tiempo de creación”: fecha y hora de creación del archivo.
- “Tiempo del último acceso”: fecha y hora del último acceso al
archivo.
- “Tiempo de la última modificación”: fecha y hora de la última modificación
al archivo.
- “Tamaño actual”: número de bytes en el archivo.
- “Tamaño máximo”: tamaño máximo al que puede crecer el
archivo.
No hay comentarios:
Publicar un comentario