SISTEMA DE ARCHIVOS
• Un Sistema de Archivos está formado por archivos y directorios.
o En algunos casos se incluye también las particiones.
• Se utilizará indistintamente Archivo = Fichero.
El Concepto de Archivo
• Abstracción del almacenamiento secundario:
o Gran capacidad,
o Estable (no volátil).
• Colección de información a la que se da un nombre para poder ser referenciada para su uso.o El creador define su contenido y forma de interpretarlo.
Atributos de Archivo
• Algunos atributos:
o Nombre.
o Tipo (texto ASCII, fuente C, objeto, ejecutable, DLL…)
o Ubicación (posición en el disco-
o Tamaño.
o Protección.
o Hora y fecha de creación, último acceso, modificación…
• Los atributos se almacenan en directorios
o Es una estructura de datosque se guarda en un archivo sobre el mismo disco al que está
describiendo.
Operaciones con Archivos
Archivo como tipo abstracto de datos – hay que definir sus operaciones.
• Operaciones básicas:
o Crear. Se debe ver si ya existe, y darle espacio.
o Escribir.
o Leer.
o Reubicar los punteros de siguiente posición para escritura / lectura.
o Eliminar un archivo. Devolver el espacio dealmacenamiento y borrar la entrada de
directorio.
o Truncar.
• Operaciones más complejas se describen como combinación de las básicas.
o Operación de abrir y cerrar un archivo. Dado que cuando se trabaja con un fichero se
están utilizando/modificando los valores de sus atributos (entrada de directorio), es más eficiente copiarlos en una tabla de ficheros abiertos.
Ej.: fp=fopen (“nombre”,“modo”). Devuelve un manejador de fichero que es un apuntador a la correspondiente entrada de la tabla de ficheros abiertos.
o Hay una tabla de ficheros abiertos
Global.
Local del proceso.
o Contador de aperturas. Sólo se puede borrar un fichero cuando no haya ningún usuario que
lo tenga abierto.
o Punteros de lectura / escritura. Apunta o localiza el siguiente dato (registro) a leer o escribir.
oAl cerrar un fichero se elimina la entrada de la tabla de ficheros abiertos local del proceso
que lo cerró. Si éste era el último proceso que lo tenía abierto, también se elimina de la tabla
global.
• Compartición del contenido de un archivo: ficheros con correspondencia en memoria (ya visto en el capítulo de gestión de memoria virtual).
• En sistemas multiprogramados tal vez senecesite bloquear alguna porción del fichero para su uso en exclusión mutua.
Tipos de Archivos
• El SO puede reconocer y apoyar el uso de distintos tipos de archivos, por ejemplo:
o Directorios.
o Archivos ejecutables.
• Identificación del tipo mediante
o La extensión en el nombre.
o Un número mágico.
Estructura (Lógica) de los Archivos
• El archivo se estructura en registros
o de tamaño fijo ovariable.
o con campos de tamaño fijo o variable.
• Si el SO reconoce y apoya el tipo del archivo, debe tener procedimientos para gestionar su uso
correcto.
o Cómodo.
o Poco flexible. Ej.: un fichero de texto encriptado.
o Debe ser posible añadir actualizaciones al SO que le informen de nuevos tipos de archivos.
• Si el SO no reconoce (y por lo tanto, no apoya su uso) el tipo de archivo
oEs el usuario / programador de aplicaciones el que debe implementar la funcionalidad.
o Muy flexible.
Estructura Interna de los Archivos
• El archivo es una abstracción del almacenamiento (disco).
• El almacenamiento en disco se hace por bloques.
• La asignación de espacio de almacenamiento se hace por bloques enteros.
• Los registros se empaquetan / desempaquetan en bloques.
• Hayfragmentación interna.
Métodos de Acceso
Para acceder a la información de un fichero hay que localizarla en él, leerla y llevarla (copiarla) en la memoria.
Acceso Secuencial
• Básicamente orden FIFO.
o Leer el siguiente.
o Añadir datos al final.
Acceso Directo
• Un archivo se compone de registros lógicos de longitud fija.
• El acceso al registro K no presupone forzosamente la lectura de los…