Fundamentos de Sistemas Operativos. Gestión de Archivos Almacenamiento de Información: Todas las aplicaciones necesitan almacenar y recuperar la información. Problemas con el almacenamiento en RAM: € Capacidad insuficiente. € Volatilidad (la información no debe desaparecer cuando el proceso muere o el equipo caiga) € Acceso a la información concurrentemente por varios procesos. La información debe ser independiente a los procesos. Condiciones esenciales para el almacenamiento de la información a largo plazo: € Debe ser posible almacenar una cantidad muy grande de información € La información debe sobrevivir a la conclusión del proceso que la utiliza € Debe ser posible que varios procesos tengan acceso concurrente a la información. ¿Qué es un archivo? € Es un objeto para almacenar información. € Los procesos pueden leerlos o escribir sobre ellos. € La información almacenada en ellos es persistente (no se ve afectada por la creación o terminación de un proceso) € Un archivo debe desaparecer ante la eliminación explícita por parte de su propietario Objetivo del sistema de archivos: Gestionar los datos que residen en almacenamiento secundario. Los datos se organizan en colecciones caracterizadas por un nombre y llamadas archivos. Posibles contenidos de un archivo: € Un informe € Un programa ejecutable € Un grupo de órdenes para el SOP € Imágenes de proceso € Páginas en sistemas de memoria virtual El sistema de archivos debe ocultar al usuario todos los aspectos específicos de dispositivo necesarios para la manipulación de archivos y proprocionarles una abstracción simple y uniforme de archivos con nombre, ocultando el funcionamiento real de la unidad de almacenamiento física. Ejemplo: Copiar archivo1 prn Nombre de los archivos: Varían de un sistema a otro. En general todos admiten cadenas de unos 8 caracteres (incluyendo dígitos y símbolos) € 2 € urgente € Fig.2-14 Algunos sistemas distinguen entre mayusculas y minúsculas (En Unix, son archivos distintos los siguientes: barbara, Barbara, BARBARA, BARbara y BarBaRa). Muchos sistemas distinguen dos partes en el nombre separadas por un punto prog.c Nombre Extensión de archivo En MS-DOS la extensión está limitada a tres caracteres. En UNIX la extensión, como tal, no existe (prog.c.Z indica que el fichero prog.c ha sido comprimido mediante el algoritmo Ziv-Lempel). Extensiones más comunes: file.bak Archivo de respaldo file.bas programa fuente en BASIC file.bin programa ejecutable en binario file.c programa fuente en C file.dat archivo de datos file.doc archivo de documentación file.ftn programa fuente en FORTRAN file.hlp texto para el comando HELP file.lib biblioteca de archivos .obj utilizados por el compilador en la tarea de enlace file.man página de un manual en línea file.obj archivo objeto (salida del compilador sin enlace) file.pas programa fuente en pascal file.tex archivo de entrada para el formato LATEX file.txt archivo general de texto Estructura de un archivo Hormiga zorro chivo gato Secuencia de bytes Secuencia de registros (CP/M128) vaca cochino león búho perro Arbol: ordenación y búsqueda mediante key Tipos de archivos: Regulares. Contienen información de usuario. Generalmente son ASCII o binarios Directorios. Son archivos de sistema para el mantenimiento de una estructura del sistema de archivos Especiales de caracteres. Se utilizan para modelar dispositivos series de E/S (terminales, impresoras, redes) Especiales de bloques. Se utilizan para modelar discos Número mágico Encabezado Tamaño de texto Tamaño de datos Tamaño de BSS Tamaño:tabla símbolos Punto de entrada Banderas Nombre del módulo Módulo Objeto Fecha Encabezado Propietario Protección Módulo Objeto Tamaño Texto Datos Bits de reasignación Tabla de símbolos 16 bits a) archivo regular ejecutable b) archivo regular. Biblioteca