Sistema operativo: sistema de archivos

Archivo

Un archivo es una colección con nombre de información relacionada que se registra en un almacenamiento secundario, como discos magnéticos, cintas magnéticas y discos ópticos. En general, un archivo es una secuencia de bits, bytes, líneas o registros cuyo significado es definido por el creador y usuario del archivo.

Estructura de archivo

Una estructura de archivo debe estar de acuerdo con un formato requerido que el sistema operativo pueda comprender.

  • Un archivo tiene una determinada estructura definida según su tipo.

  • Un archivo de texto es una secuencia de caracteres organizada en líneas.

  • Un archivo fuente es una secuencia de procedimientos y funciones.

  • Un archivo de objeto es una secuencia de bytes organizada en bloques que son comprensibles para la máquina.

  • Cuando el sistema operativo define diferentes estructuras de archivos, también contiene el código para admitir estas estructuras de archivos. Unix, MS-DOS admite un número mínimo de estructura de archivos.

Tipo de archivo

El tipo de archivo se refiere a la capacidad del sistema operativo para distinguir diferentes tipos de archivos, como archivos de texto, archivos de origen y archivos binarios, etc. Muchos sistemas operativos admiten muchos tipos de archivos. Los sistemas operativos como MS-DOS y UNIX tienen los siguientes tipos de archivos:

Archivos ordinarios

  • Estos son los archivos que contienen información del usuario.
  • Estos pueden tener texto, bases de datos o programas ejecutables.
  • El usuario puede aplicar varias operaciones en archivos como agregar, modificar, eliminar o incluso eliminar todo el archivo.

Archivos de directorio

  • Estos archivos contienen una lista de nombres de archivos y otra información relacionada con estos archivos.

Archivos especiales

  • Estos archivos también se conocen como archivos de dispositivo.
  • Estos archivos representan dispositivos físicos como discos, terminales, impresoras, redes, unidades de cinta, etc.

Estos archivos son de dos tipos:

  • Character special files - Los datos se manejan carácter a carácter como en el caso de terminales o impresoras.

  • Block special files - Los datos se manejan en bloques como en el caso de discos y cintas.

Mecanismos de acceso a archivos

El mecanismo de acceso a archivos se refiere a la forma en que se puede acceder a los registros de un archivo. Hay varias formas de acceder a los archivos:

  • Acceso secuencial
  • Acceso directo / aleatorio
  • Acceso secuencial indexado

Acceso secuencial

Un acceso secuencial es aquel en el que se accede a los registros en alguna secuencia, es decir, la información en el archivo se procesa en orden, un registro tras otro. Este método de acceso es el más primitivo. Ejemplo: los compiladores suelen acceder a los archivos de esta forma.

Acceso directo / aleatorio

  • La organización de archivos de acceso aleatorio proporciona acceso directo a los registros.

  • Cada registro tiene su propia dirección en el archivo con la ayuda de la cual se puede acceder directamente para leer o escribir.

  • Los registros no necesitan estar en ninguna secuencia dentro del archivo y no necesitan estar en ubicaciones adyacentes en el medio de almacenamiento.

Acceso secuencial indexado

  • Este mecanismo está construido sobre la base del acceso secuencial.
  • Se crea un índice para cada archivo que contiene punteros a varios bloques.
  • El índice se busca secuencialmente y su puntero se usa para acceder al archivo directamente.

Asignación de espacio

A los archivos se les asignan espacios en disco por sistema operativo. Los sistemas operativos se implementan siguiendo tres formas principales de asignar espacio en disco a los archivos.

  • Asignación contigua
  • Asignación vinculada
  • Asignación indexada

Asignación contigua

  • Cada archivo ocupa un espacio de direcciones contiguo en el disco.
  • La dirección de disco asignada está en orden lineal.
  • Fácil de implementar.
  • La fragmentación externa es un problema importante con este tipo de técnica de asignación.

Asignación vinculada

  • Cada archivo lleva una lista de enlaces a bloques de disco.
  • El directorio contiene un enlace / puntero al primer bloque de un archivo.
  • Sin fragmentación externa
  • Utilizado eficazmente en archivos de acceso secuencial.
  • Ineficiente en caso de archivo de acceso directo.

Asignación indexada

  • Brinda soluciones a problemas de asignación contigua y vinculada.
  • Se crea un bloque de índice que tiene todos los punteros a los archivos.
  • Cada archivo tiene su propio bloque de índice que almacena las direcciones del espacio en disco ocupado por el archivo.
  • El directorio contiene las direcciones de los bloques de índice de archivos.