Sistemas de Archivos para Linux

Anuncio
Sistemas de Archivos para Linux
Ext 2
No se puede hablar de un sistema de archivo para Linux. Linux es capaz de adaptarse a
una variedad de sistemas de archivo. Lo hace mediante un Sistema de archivos virtual
que sirve como interfase en el sistema de archivos que hay en el volumen y el propio
sistema operativo. El sistema virtual se enfrenta al sistema de archivos que exista en el
volumen ofreciéndole al sistema operativo un único formato con independencia de cual
sea este sistema de archivos.
Sin embargo en todos los sistemas de archivos para Linux hay unos conceptos básicos
comunes:
Inodo: cada archivo es representado por una estructura de datos que contiene una
descripción del archivo: tipo, derechos de acceso, propietarios, tamaño y punteros a las
zonas de datos. Cuando se quiere acceder a los datos del archivo, se accede a los
punteros, estos punteros están relacionados con una Tabla de direcciones de bloque que
ubican cada uno de los bloques de datos asignables que componen el disco.
Directorios: son un tipo particular de archivo. Por lo tanto un directorio es representado
también por un I-nodo. La particularidad es que los datos de este archivo son una lista
de i-nodos
Enlaces: un enlace es un nombre alternativo de un archivo. Cuando se crea un enlace se
crea un i-nodo en el directorio, pero este i-nodo no tendrá ningún bloque asignado. Uno
de los campos del i-nodo es un número cuyo sentido es apuntar a otro i-nodo que
representará a un archivo real (con datos) en el sistema. En el archivo “real” se
incrementa una cuenta de enlaces a ese archivo de modo que este archivo no se
considerará borrado hasta que hayan sido borrados todos los enlaces. Este es llamado
enlace duro. Se previene de la creación de enlaces duros a directorios para no crear
bucles en la estructura del sistema de archivos. Además no es posible crear enlaces
duros que cruces dos sistemas de archivo (por ejemplo de volumen a volumen?)
Existen también los enlaces simbólicos. Estos crean un i-nodo que sí tienen datos
asociados; pero estos datos se limitan a ser el nombre del otro archivo real (con datos) al
que quieren asociarse.
Archivos especiales: un archivo especial es otra clase de archivos sin datos. Son usados
para acceder a los dispositivos de entrada/salida de datos. Estos dispositivos son
divididos en dos clases: de caracteres y de bloque. Los primeros admiten transferencias
de carácter, lo que implica transferencias inmediatas sin necesidad de utilizar buffers
intermedios. Los de bloque requieren la habilitación de buffers intermedios donde
almacenar bloques de datos antes de hacérselos llegar al usuario.
Cuando un archivo especial es accedido, la acción es derivada a un pseudo driver que se
encargará de gestionar la acción correspondiente con el driver del dispositivo. Los
archivos especiales tienen asociado un Major Number que describe el tipo de
dispositivo que se trata y un Minor Number que indica (si hay más de uno en el sistema)
de cual se trata de los múltiples que hubiere.
Virtual File System
En Linux no se accede directamente al sistema de archivos. Existe una capa intermedia
que hace de interfaz entre el sistema de archivos y el sistema operativo. La ventaja que
proporciona esta capa es que el sistema operativo no se ve comprometido con un único
sistema de archivos. El sistema de archivos virtual ofrece a Linux una visión
homogenea de un sistema de archivos con independencia del sistema de archivos real
que resida en cada volumen.
Los sistemas de archivo que soporte linux se deben realmente a los sistemas de archivos
con que sea capaz de entenderse VFS.
Ext2 File System
Este es realmente el Sistema de Archivos del volumen. Es capaz de soportar hasta 4 TB,
nombres de 255 caracteres. Y tiene la característica de reservar en cada bloque un
espacio para el directorio raiz, lo que va a permitir al administrador manejar el sistema
de archivos en situaciones de sobrecarga.
Algunos conceptos importantes:
Grupos de Bloques: o grupos de bloques tiene una consideración semejante a los
cilindros, aunque en este caso no hay una consideración física (como la tienen los
cilindros) (¿Los accesos consecutivos dentro de un grupo de bloques son más eficientes
que los accesos entre grupos de bloques?)
Cada grupo de bloque contiene una copia redundante de información de control crucial
para el sistema de archivos: superbloque y descriptores del sistema de archivos. Y
también contendrá parte del sistema de archivos (block bitmap, i-node bitmap, parte de
la tabla de i-nodes, y bloques de datos)
Un directorio es concebido como una lista encadenada de entradas de longitud variable.
Cada entrada contiene: numero de i-nodo, longitud de la entrada, nombre del archivo y
longitud de nombre.
Descargar