2. SISTEMA DE ARCHIVOS
Aunque los discos rígidos pueden ser muy chicos, aún 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. 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 9x, 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.
3. La mayoría de los sistema 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.
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.
4. Los usuarios deben poder crear, modificar y borrar archivos.
Se deben poder compartir los archivos de una manera
cuidadosamente controlada.
El mecanismo encargado de compartir los archivos debe
proporcionar varios tipos de acceso controlado:
La destrucción maliciosa de información.
Se debe poder referenciar a los archivos mediante “Nombres
Simbólicos”, brindando “Independencia de Dispositivos”. En
ambientes sensibles, el sistema de archivos debe proporcionar
posibilidades de “Cifrado” y “Descifrado”.
El sistema de archivos debe brindar una interface favorable al
usuario:
Debe suministrar una “visión lógica” de los datos y de las funciones
que serán ejecutadas, en vez de una “visión física”.
El usuario no debe tener que preocuparse por:
Los dispositivos particulares.
Dónde serán almacenados los datos.
El formato de los datos en los dispositivos.
Los medios físicos de la transferencia de datos hacia y desde
los dispositivos.
5. Sistemas de archivos soportados por Linux
Linux soporta una gran cantidad de tipos diferentes de sistemas de archivos. Para
nuestros propósitos los más importantes son:
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.