¿La estructura de datos del inodo contiene la dirección real del archivo en el disco?

¿La estructura de datos del inodo contiene la dirección real del archivo en el disco?

Actualmente estoy aprendiendo sobre el sistema de archivos de Linux. He aprendido lo siguiente hasta ahora:

  • Un directorio es simplemente un archivo que contiene la siguiente información: los nombres de los archivos y sus números de inodo.
  • Hay una tabla de inodos que contiene una estructura de datos para cada número de inodo. Esta estructura de datos contiene información como ID de propietario, ID de grupo, tamaño de archivo, etc.

Ahora bien, ¿la estructura de datos del inodo también contiene la dirección real del archivo en el disco, o solo contiene la dirección de alguna otra estructura de datos que conoce la dirección real del archivo en el disco?

Respuesta1

Esto depende del tipo de sistema de archivos. Sin embargo, en la mayoría de los sistemas de archivos, el inodo (o dinodo) contendrá las direcciones del primer par de bloques de datos (llamados "bloque directo") y luego, para archivos más grandes, las direcciones de los "bloques indirectos" que a su vez almacenan punteros a bloques de datos adicionales.

VerEstructura_puntero_inodopágina de wikipedia para más detalles.

Para fines de aprendizaje, recomendaría mirar el sistema de archivos UFS, que tiene una estructura relativamente simple. VerEstructura de diodo UFS, específicamente di_dby di_ibpara punteros a bloques directos e indirectos.

información relacionada