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.