Sistemas de Archivos: Organización, Implementación y Métodos de Asignación

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

Escrito el en español con un tamaño de 5,23 KB

Distribución del Sistema de Archivos

Los sistemas de archivos se almacenan en discos. Estos se dividen en una o más particiones, con sistemas de archivos independientes en cada partición. El sector 0 del disco se conoce como el MBR (Master Boot Record; Registro maestro de arranque) y se utiliza para arrancar la computadora. El final del MBR contiene la tabla de particiones, la cual proporciona las direcciones de inicio y fin de cada partición. Una de las particiones en la tabla se marca como activa.

Algoritmo de Arranque

  • Cuando se arranca la computadora, el BIOS lee y ejecuta el MBR.
  • Lo primero que hace el programa MBR es localizar la partición activa.
  • Leer su primer bloque, conocido como bloque de arranque, y ejecutarlo.
  • El programa en el bloque de arranque carga el sistema operativo contenido en esa partición.

Implementación de Archivos

Mantener un registro acerca de qué bloques de disco van con cuál archivo.

Asignación Contigua

Consiste en almacenar cada archivo como una serie contigua de bloques de disco. Así, en un disco con bloques de 1 KB, a un archivo de 50 KB se le asignarían 50 bloques consecutivos. Con bloques de 2 KB, se le asignarían 25 bloques consecutivos. Al principio el disco estaba vacío, después se escribió un archivo A de cuatro bloques de longitud al disco, empezando desde el principio (bloque 0). Después se escribió un archivo de seis bloques llamado B, empezando justo después del archivo A. Cada archivo empieza al inicio de un nuevo bloque, por lo que si el archivo A fuera realmente de 3 1/2 bloques, se desperdiciaría algo de espacio al final del último bloque.

Ventajas

  • Simple de implementar, ya que llevar un registro de la ubicación de los bloques de un archivo se reduce a recordar dos números: la dirección de disco del primer bloque y el número de bloques en el archivo.
  • El rendimiento de lectura es excelente debido a que el archivo completo se puede leer del disco en una sola operación. Sólo se necesita una búsqueda (para el primer bloque).

Desventajas

  • Fragmentación del disco: El estado del disco después de haber removido los archivos D y F. Cada nuevo archivo se puede escribir al final del disco, después del anterior. El disco se llenará y será necesario compactarlo, que es costoso, o habrá que reutilizar el espacio libre de los huecos. Hay que mantener una lista de huecos. Al crear un nuevo archivo será necesario conocer su tamaño final (por esto se descartó) para poder elegir un hueco del tamaño correcto y colocarlo.

Lista Enlazada de Bloques

  • La primera palabra de cada bloque se utiliza como apuntador al siguiente. El resto del bloque es para los datos.
  • Se puede utilizar cada bloque del disco.
  • No se pierde espacio debido a la fragmentación del disco (excepto por la fragmentación interna en el último bloque).
  • Para la entrada del directorio sólo le basta con almacenar la dirección de disco del primer bloque.
  • La lectura secuencial es directa.
  • El acceso aleatorio es en extremo lento. Para llegar al bloque n, el sistema operativo tiene que empezar desde el principio y leer los n – 1 bloques anteriores, uno a la vez.

Asignación de Lista Enlazada Utilizando una Tabla en Memoria (FAT)

  • La palabra del apuntador de cada bloque de disco está en una tabla en memoria.
  • Empezar con el bloque 4 y seguir toda la cadena hasta el final.
  • Empezar con el bloque 6.
  • Ambas cadenas se terminan con un marcador especial (-1) que no sea un número de bloque válido.
  • La tabla en memoria principal se conoce como FAT (File Allocation Table).
  • El bloque completo está disponible para datos.
  • El acceso aleatorio es mucho más sencillo, la cadena está completamente en memoria y se puede seguir sin necesidad de hacer referencias al disco.
  • La entrada de directorio necesita mantener sólo un entero (el número de bloque inicial).
  • La desventaja de este método es que toda la tabla debe estar en memoria todo el tiempo.
  • Con un disco de 200 GB y un tamaño de bloque de 1 KB, la tabla necesita 200 millones de entradas, una para cada uno de los 200 millones de bloques de disco.

Nodos-i

Para llevar un registro de qué bloques pertenecen a cuál archivo se asocia con cada archivo una estructura de datos conocida como nodo-i (nodo-índice), que lista los atributos y las direcciones de disco de los bloques del archivo.

  • Dado el nodo-i, entonces es posible encontrar todos los bloques del archivo.
  • La ventaja de este esquema, en comparación con los archivos vinculados que utilizan una tabla en memoria, es que el nodo-i necesita estar en memoria sólo cuando está abierto el archivo correspondiente.
  • Si cada nodo-i ocupa n bytes y puede haber un máximo de k archivos abiertos a la vez, la memoria total ocupada por el arreglo que contiene los nodos-i para los archivos abiertos es de sólo kn bytes.
  • Sólo hay que reservar este espacio por adelantado.

Entradas relacionadas: