stringtranslate.com

estructura del puntero de inodo

Ejemplo de estructura

La estructura de puntero de inodo es una estructura adoptada por el inodo de un archivo en el Sistema de archivos Unix (UFS) para enumerar las direcciones de los bloques de datos de un archivo . También lo adoptan muchos sistemas de archivos relacionados, incluido el sistema de archivos ext3 , popular entre los usuarios de Linux.

Estructura

En el pasado, la estructura puede haber consistido en unos doce punteros, pero la mayoría de los sistemas de archivos modernos utilizan quince punteros. Estos punteros constan de (asumiendo 15 punteros en el inodo): [1]

Los niveles de direccionamiento indirecto indican el número de punteros que se deben seguir antes de llegar a los datos reales del archivo.

Características clave

Tamaño de bloque lógico fijo

La estructura se ilustra parcialmente en el diagrama que acompaña a este artículo. La estructura permite que los inodos describan archivos muy grandes en sistemas de archivos con un tamaño de bloque lógico fijo. Lo fundamental del mecanismo es que los bloques de direcciones (también llamados bloques indirectos ) solo se asignan según sea necesario. Por ejemplo, un archivo de 12 bloques se describiría usando solo el inodo porque sus bloques encajan en la cantidad de punteros directos disponibles. Sin embargo, un archivo de 13 bloques necesita un bloque indirecto para contener la decimotercera dirección.

Facilidad de localización de datos

La estructura del puntero de inodo no solo permite que los archivos se asignen fácilmente a bloques no contiguos, sino que también permite ubicar fácilmente los datos en una ubicación particular dentro de un archivo. Esto es posible porque el tamaño del bloque lógico es fijo. Por ejemplo, si cada bloque tiene 8 kB, los datos del archivo de 112 kB a 120 kB serían señalados por el tercer puntero del primer bloque indirecto (suponiendo doce punteros directos en la estructura del puntero de inodo).

Bloques indirectos

A diferencia de los inodos, que tienen un número fijo y se asignan en una parte especial del sistema de archivos, los bloques indirectos pueden ser de cualquier número y se asignan en la misma parte del sistema de archivos que los bloques de datos. El número de punteros en los bloques indirectos depende del tamaño del bloque y del tamaño de los punteros del bloque. Ejemplo: con un tamaño de bloque de 512 bytes y punteros de bloque de 4 bytes, cada bloque indirecto puede constar de 128 (512/4) punteros.

Referencias

  1. ^ https://inst.eecs.berkeley.edu/~cs162/sp20/static/sections/section9-sol.pdf