EXT2

De Wiki de Sistemas Operativos
Revisión del 18:00 21 ene 2020 de Carparigl (discusión | contribuciones) (Estructura)
(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Saltar a: navegación, buscar

Ext2 (extended second filesystem) es un sistema de ficheros originalmente diseñado para el kernel linux. Comparado con FAT es un sistema eficiente, pero al igual que este está obsoleto para el tamaño de los ficheros actuales.


Estructura

En Ext2, al contrario que en FAT, las entradas de la tabla de entrada de ficheros apuntan a un bloque especial llamado i-nodo el cual incluye información de tamaño, permisos, propietario y localización en disco, es decir, los metadatos del fichero. Además de los metadatos los i-nodos contienen dos tipos de referencias a los bloques del fichero:

  • 12 referencias directas a bloques.
  • 3 tipos de referencias indirectas: simple, doble y triple (en base al numero de tablas de bloques de cada referencia, desde 1 hasta 3).

Mediante estas referencias indirectas podemos aumentar el numero de bloques asignados a un fichero en el caso de que este no quepa en los 10 bloques referenciados directamente.

Ext2-inode.gif

Enlaces

En el sistema de ficheros ext2 (y superiores) es posible crear enlaces duros y enlaces simbólicos. Estos mecanismos permiten a uno o más ficheros compartir los mismos datos. Dicho de otra manera, permite referenciar un mismo archivo o directorio desde varios puntos del árbol de directorios del sistema de archivos.

Duro

Un enlace duro es una referencia directa a un mismo i-nodo desde diferentes archivos o directorios, aunque este último caso no es común y el propio sistema operativo lo restringe para que la estructura de los ficheros siga un esquema en árbol. Por cada nueva referencia, se incrementa el contador de enlaces del i-nodo.

Un enlace duro consiste en añadir una entrada en la tabla de entrada de directorio que apunta al i-nodo de un fichero ya existen. Como resultado, dos o más entradas de directorio apuntan al mismo i-nodo. El i-nodo dispone de un contador de referencia que especifica el número de entradas de directorio que apuntan a dicho i-nodo.

Ventajas
  • Borrar uno de los ficheros que hacen referencia al i-nodo no invalida el resto de referencias.
Inconvenientes
  • Si hay muchas referencias al mismo i-nodo y se desea liberar espacio, hay que borrar todas ellas. El principal inconveniente de un enlace duro es que los bloques de datos no se liberan hasta que el contador de número de referencias al i-nodo es cero. Por lo que el usuario no libera espacio en la unidad de almacenamiento hasta que todos los enlaces duros previamente creados no hayan sido borrados.
  • Solo puede enlazarse a i-nodos dentro del mismo volumen.

Simbólico

Un enlace simbólico es un fichero especial de un solo bloque, el cual contiene la dirección al archivo enlazado. No es lo mismo que un acceso directo en Windows puesto que este es un archivo normal de extensión .lnk interpretado por el explorador de archivos mientras que un enlace simbólico está integrado en el sistema de ficheros como un tipo de objeto diferenciado.

Un enlace simbólico se representa como una entrada de directorio que apunta a un i-nodo. Dicho i-nodo apunta a un bloque de datos que almacena una ruta relativa o absoluta a un fichero. Si se borra el fichero al que apunta un enlace simbólico, se dice que queda roto.

Ventajas
  • Se puede hacer referencia a i-nodos de otros volúmenes.
Inconvenientes
  • Ocupa más espacio de la unidad de almacenamiento. Cada enlace simbólico requiere de un i-nodo propio y un bloque.
  • Si se borra el fichero al que hace referencia bajo la ruta especificada, el enlace queda roto.

Ext3

Ext3 emplea la misma estructura de Ext2 pero soporta journaling.

Ext4

Emplea árboles B: http://en.wikipedia.org/wiki/Ext4

12.4 Ejercicios de Administración de Ficheros