Conceptos Clave en Sistemas de Ficheros: Estructura, Tamaño y Acceso Eficiente

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 4,36 KB

Gestión de Ficheros y Directorios: Estructura, Tamaño y Operaciones

Este documento aborda conceptos fundamentales sobre la gestión de ficheros y directorios en sistemas operativos, incluyendo la representación de estructuras de árbol, el cálculo del tamaño máximo de un fichero y la descripción de operaciones clave.

1. Representación de la Estructura del Árbol de Ficheros/Directorios y Problemas de Recorrido

A continuación, se presenta la estructura de un árbol de ficheros y directorios:

  • /Madrid (Fichero)
  • /Lugo (Fichero)
  • /Murcia/Norte/Ciudad (Enlace)
  • /Murcia/Sur (Directorio vacío)
  • /Murcia/Centro (Fichero)

Problema al Recorrer la Estructura

Al recorrer la estructura anterior en la búsqueda de un fichero, puede existir un problema de referencia circular a través del enlace:

  • /Murcia/Norte/Ciudad que apunta a /Murcia

Soluciones Propuestas

En caso de una referencia circular, se podrían considerar dos posibles soluciones:

  1. No utilizar enlaces simbólicos en las búsquedas.
  2. Restringir el número de directorios a recorrer en las búsquedas.

2. Cálculo del Tamaño Máximo de un Fichero

Para determinar el tamaño máximo que puede tener un fichero, se consideran los siguientes elementos y sus capacidades de direccionamiento:

  • Un puntero directo direcciona un bloque de 1 KB.
  • Un puntero indirecto simple: Dado que el tamaño de bloque es 1 KB y el tamaño de dirección son 2 B, cada puntero indirecto simple direcciona un bloque que contiene 1 KB / 2 B = 512 punteros directos. Esto permite direccionar un total de 512 KB.
  • Un puntero indirecto doble: Direcciona un bloque que contiene 1 KB / 2 B = 512 punteros indirectos simples, cada uno de los cuales direcciona 512 KB. Esto permite direccionar: 512 * 512 KB = 256 MB.

Por lo tanto, el tamaño máximo de fichero será la suma de las capacidades de direccionamiento de estos punteros:

1 KB (directo) + 512 KB (indirecto simple) + 256 MB (indirecto doble)

3. Descripción de Operaciones en el Sistema de Ficheros: Ejemplo rm

A continuación, se describe cómo se realiza la operación rm /Murcia/Norte/Ciudad y los cambios que se efectuarían en el sistema de ficheros:

  1. Se accede al bloque 0 y se identifica el i-nodo raíz.
  2. Se accede al i-nodo 0 (bloque 1) y a su contenido (bloque 51).
  3. Se accede al i-nodo 3 (bloque 4) y a su contenido (bloque 53).
  4. Se accede al i-nodo 4 (bloque 5) y a su contenido (bloque 54).
  5. Se accede al i-nodo 5 (bloque 6) y se observa que el contador de enlaces es 1, por lo que el enlace puede ser borrado.
  6. Tanto el i-nodo 5 como el bloque 55 quedan libres.

El resultado es:

4. Cálculo del Tiempo de Acceso: Lectura del Primer Byte de /Madrid

El acceso al primer byte del fichero /Madrid requiere las siguientes operaciones:

  1. Se accede al bloque 0 y se identifica el i-nodo raíz.
  2. Se accede al i-nodo 0 (bloque 1) y a su contenido (bloque 51).
  3. Se accede al i-nodo 1 (bloque 2) y a su contenido (bloque 100).

En total, se acceden a 5 bloques, lo que supone 10 sectores, que tardan 10 ms.

5. Cálculo del Tiempo de Acceso: Lectura del Último Byte de /Murcia/Centro

Para leer el último byte del fichero /Murcia/Centro, se realizan las siguientes operaciones:

  1. Se accede al bloque 0 y se identifica el i-nodo raíz.
  2. Se accede al i-nodo 0 (bloque 1) y a su contenido (bloque 51).
  3. Se accede al i-nodo 3 (bloque 4) y a su contenido (bloque 53).
  4. Se accede al i-nodo 7 (bloque 8).
  5. El último byte del fichero está asociado al puntero indirecto doble. Por lo que es necesario acceder al bloque 57 y, a través de la última entrada del mismo, al bloque 58.
  6. La última entrada del bloque 58 apunta al último bloque de datos, que es el 133.

Así, es necesario acceder a 9 bloques de datos, lo que supone 18 sectores, con un tiempo asociado de 18 ms.

Entradas relacionadas: