Bg1 Resize

¿Cómo funcionan los inodos de Linux?

Si ha estado usando Linux el tiempo suficiente, habrá visto el término «inodos». Es algo que aparecerá de vez en cuando, pero no afecta lo que estás haciendo. Aquí te explicaremos qué son los inodos y cómo funcionan.

¿Qué es Inodos?

En una biblioteca, todos los libros están organizados por género, nombre del autor o grupo de edad de la audiencia. Si desea ubicar un thriller de «Bobby Daniels», debe caminar directamente a la sección de suspenso y comenzar a buscar nombres de autores que comiencen con «B». Al igual que una biblioteca, todos los archivos en un sistema Linux están organizados para una recuperación y uso eficientes. Inode es una entidad que ayuda en la organización de archivos dentro de un sistema Linux.

¿Qué son los metadatos de archivo?

Digamos que tenemos un archivo llamado “sample.txt” que contiene los datos “hola”.

qué es Inode - archivo de muestra con datos de saludo

Este archivo tiene algunos datos e información relevante, como el tamaño del archivo, los permisos, la propiedad del usuario y del grupo, las marcas de tiempo de creación/acceso/modificación, el recuento de enlaces, etc. Toda esta información se conoce colectivamente como metadatos del archivo.

qué es Inode - metadatos de archivos

¿Qué son los sistemas de archivos?

En un dispositivo de almacenamiento como un disco duro, una partición se formatea como un sistema de archivos antes de que se utilice para el almacenamiento de archivos. Un sistema de archivos es el bibliotecario del disco duro. Formalmente, es un conjunto de estructuras de datos y algoritmos que funcionan en conjunto para almacenar archivos metódicamente en la partición.

Las particiones en los sistemas Linux se formatean con frecuencia con EXT4. Otros sistemas de archivos como B-Tree File System (BTRFS), Reiser File System, ZFS, etc. también están disponibles para su uso.

Atarlos a todos juntos

Inode es una estructura de datos en Ext4 que contiene todos los metadatos de un archivo.

Inodo en detalles

Por supuesto, habría numerosos archivos en un sistema de archivos. Como habrás adivinado, cada archivo tendría su propio inodo. Para identificar de forma única los inodos, cada inodo está numerado.

¿Cómo sería la numeración de inodos?

Los números de inodo en un sistema de archivos comienzan desde 1. Los primeros diez inodos están reservados para uso del sistema. Los archivos de usuario tienen sus metadatos almacenados desde el inodo 11. Todos los inodos están cuidadosamente apilados en una tabla de inodos.

tabla de inodos

Una entrada en la tabla de inodos tendría un tamaño de 256 bytes. ¡Para un archivo, Linux organiza inteligentemente todos los metadatos dentro de 256 bytes! Además, un inodo para un archivo también tendría información sobre dónde se encuentran los datos del archivo en el sistema de archivos. Recuerde: solo los metadatos del archivo se almacenan en el inodo.

La cantidad total de inodos en un sistema de archivos depende del espacio disponible y la cantidad de archivos que se pueden almacenar en la partición.

¿Cómo se asignan y desasignan los inodos?

A medida que el usuario agrega archivos a un sistema de archivos recién formateado, los inodos a partir del 11 se asignan para contener los metadatos del archivo.

Hay otra estructura de datos llamada «Mapa de bits de inodo» para rastrear el estado de asignación de un inodo. Es una colección de bits que actúa como un mapa.

Consideremos ocho bits en el mapa de bits del inodo para indicar el estado de asignación de los inodos 11 a 18, como se muestra en la siguiente tabla. Un valor de 1 en el mapa de bits significa que se asigna un inodo, es decir, se utiliza para contener los metadatos de un archivo. Un valor de 0 en el mapa de bits significa que el inodo no está actualmente en uso. Aquí, podemos ver que el inodo 17 está en uso.

mapa de bits de inodo

En caso de que se elimine el archivo que tiene sus metadatos en el inodo 17, entonces su estado de mapa de bits correspondiente se convertiría en 0, lo que indica que está libre para ser utilizado por otro archivo.

Tabla de mapa de bits de inodo

¿Cómo ver el número de inodo de un archivo?

Hay dos maneras de hacer esto.

El primero es usar ls comando con –i switch, seguido del nombre de un archivo. El primer campo en la salida es el número de inodo que tiene los metadatos de «sample.txt».

Inodo 7

La misma información se puede obtener utilizando el stat comando seguido del nombre del archivo.

Inodo 8

Para ver el número total de inodos disponibles para una partición, df El comando se puede usar con -i cambiar.

Inodo 9

En la partición «/dev/sda4», hay 404754480 inodos disponibles para usar, de los cuales solo se usan 359044 inodos.

Conclusión

Por naturaleza, la tabla de inodos apila meticulosamente los metadatos de todos los archivos en inodos, junto con información sobre la ubicación de los datos del archivo. Todo lo que hemos discutido sobre los inodos de Linux es simplemente la punta del iceberg. Para obtener más información sobre su funcionamiento interno, puede echar un vistazo a este Enlace.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Experto Geek - Tu Guía en Tendencias Tecnológicas