CAPÍTULO IV: GESTIÓN DE ARCHIVOS 1. Introducción a la Gestión de Archivos 2. Organización y acceso a los ficheros 3. Directorios
1. INTRODUCCIÓN A LA GESTIÓN DE ARCHIVOS El sistema de archivos proporciona el mecanismo para el almacenamiento y el acceso en línea a datos y programas. Consta de dos partes: - Colección de archivos: almacena datos relacionados. - Estructura de archivos: organiza u proporciona información.
1. INTRODUCCIÓN A LA GESTIÓN DE ARCHIVOS Un archivo es: Una colección de información relacionada con nombre que se guarda en almacenamiento secundario. -Residencia: almacenamiento permanente. -Acceso: A través de system calls Desde la perspectiva del usuario, es la porción más pequeña de almacenamiento secundario lógico. Es una secuencia de bits, bytes, líneas o registros cuyo significado es definido por el creador y el usuario del mismo. Oculta complejidad interna al usuario Es una colección de información relacionada, con un nombre asignado, que se graba en almacenamiento secundario. Un archivo tiene una estructura definida de acuerdo a su tipo.
1. INTRODUCCIÓN A LA GESTIÓN DE ARCHIVOS SISTEMA DE ARCHIVOS: Un sistema de archivos es un dispositivo de software, encargado de la administración de la información (acceso, verificación y manipulación). El SO es responsable de la siguientes actividades relacionadas con la administración de archivos: Crear y eliminar archivos. Crear y eliminar directorios Dar soporte a primitivas para la manipulación de archivos y directorios. Hacer un mapa de los archivos en el almacenamiento secundario. Respaldar archivos en medios de almacenamiento estables.
ATRIBUTOS DE ARCHIVOS Un archivo posee atributos que varían de un sistema operativo a otro: Nombre: El nombre simbólico del archivo es la única información que se mantiene en forma legible para los humanos. En algunos SO hacen distinción e mayúsculas y minúsculas Tipo: Esta información es necesaria para aquellos sistemas que se soportan diferentes tipos. Ubicación: Es un apuntador a un dispositivo y a la ubicación del archivo en dicho dispositivo. Tamaño: Este atributo se incluyen el tamaño actual del archivo y posiblemente el tamaño máximo permitido. Protección: Información de control de acceso que determina quien puede leer, escribir, ejecutar, etc. el archivo. Hora: Esta información se puede mantener para 1) la creación, 2) la última modificación y 3) el último uso. Estos datos pueden ser útiles para protección, seguridad y control de acceso.
TIPOS DE ARCHIVOS De acuerdo a su estructura los archivos pueden ser de los siguientes tipos: Texto: Secuencia de caracteres organizados en líneas. Fuente: Secuencia de subrutinas y funciones. Objeto: Secuencia de bytes organizados en bloques que pueden ser entendidos por el enlazador del sistema. Ejecutable: Secuencia de secciones de código que el cargador puede llevar a la memoria y ejecutar.
TIPOS DE ARCHIVOS Tipo de Archivo Ejecutable Objeto Código Fuente Por lotes Texto Procesador de palabras Biblioteca Impresión o vista Archivo Extensión Usual Exe, com, bin o ninguna Obj,o C, cc, pas, java, asm, pl Bat, sh Txt, doc tex, doc, etc. Lib, a, DLL Ps. Dvi, gif Arc, zip, tar Función Programa en lenguaje de máquina listo para correr. Compilado, en lenguaje de máquina Código fuente en varios lenguajes Comando al intérprete de comandos Datos textuales, documentos. Varios formatos de procesador de palabras. Bibliotecas de rutinas para programadores Archivo ASCII o binario en un formato para impresión o vista Archivos relacionados agrupados en un archivo, a veces comprimido, para archivarlo o almacenarlo
OPERACIONES SOBRE ARCHIVOS Crear un archivo Escribir un archivo Leer un archivo Reposicionarse dentro de un archivo Borrar un archivo Truncar un archivo
MÉTODOS DE ACCESO Existe varias formas para acceder a la información en archivo. Acceso Secuencial.- La información se lee en orden, un registro después de otro, es el más común. Ejm: Editores, compiladores.
MÉTODOS DE ACCESO Acceso Directo.-El proceso puede leer el registro en cualquier orden, permitiendo leer o escribir bloques arbitrariamente. Estos son útiles para un acceso inmediato en grandes cantidades de información. Ejm: BD
ESTRUCTURA DE DIRECTORIOS Debido a que los sistemas de archivos pueden ser extensos, para manejar estos datos necesitamos organizarlos.
ESTRUCTURA DE DIRECTORIOS
ESTRUCTURA DE DIRECTORIOS La organización se realiza en dos partes: El Sistema de Archivos se descompone en particiones (minidiscos(ibm), volúmenes (PC,MAC) ). Cada partición contiene información acerca de los archivos dentro de ella, esta información se mantiene en entradas en un Directorio de Dispositivo (Tabla de contenido de volúmnes) -> Nombre, ubucación, tamaño, y tipo
Directorio de un solo nivel Es la estructura más sencilla de directorios. Un único directorio para todos los usuarios Problemas: Nombre únicos. Difícil de organizar los archivos. (es un atarea abrumadora hacer un seguimiento a tantos archivos)
Directorio de dos niveles Separa directorios para cada usuario (User File Directory UFD). Se debe conocer el camino completo del archivo Pueden tener archivos con nombres similares los diferentes usuarios. Búsqueda eficiente Aisla a los usuarios Ventaja: independencia. Desventajas: no permite cooperación entre usuarios. Nombres de rutas: Nombre del usuario + Nombre del archivo.
Directorio con estructura de árbol Búsqueda eficiente Capacidad de tener grupos Se trabaja con directorios concurrentes Ruta absoluta o relativa Se puede crear nuevos archivos o directorio en el directorio actual Un directorio contiene archivos o subdirectorios. Para cambiar de directorio se hace una llamada al sistema (chage direc tory) Políticas de eliminación de directorios
Directorio de gráfica acíclica Una gráfica sin ciclos Tiene directorios y archivos compartidos Maneja dos diferentes nombres (aliases) Enlace o Link a otro directorio o archivo. Para eliminar hay que eliminar hasta el ultimo enlce. Puede tener multiples nombres de rutas absolutas.
PROTECCIÓN Cuando se guarda información, esta debe ser confiable, es decir protegerla contra daño físico y contra un acceso incorrecto. La confiabilidad se proporciona mediante copias duplicadas de archivos. La protección puede proporcionarse de muchas maneras Remover físicamente los discos flexibles. Mediante el tipo de acceso controlado limitando los tipos de acceso que se pueden hacer a los archivos. Protección asignando contraseña a cada archivo
PROTECCIÓN Tipo de Acceso: Prohibir completamente el acceso Proporcionar un acceso libre Acceso controlado Se pude controlar las operaciones de: - Leer - Escribir - Ejecutar - Anexar - Borrar - Listar
PROTECCIÓN Un enfoque común para el problema de la protección consiste en hacer que el acceso dependa de la identificación del usuario. Listas y grupos Propietarios Grupos Universo
MÉTODOS DE ASIGNACIÓN Consiste en asignar espacio a los archivos de manera que el espacio del disco se utilice eficazmente y se pueda tener acceso a los archivos con rapidez. Existen tres métodos principales: Contigua Enlazada Indizada
Asignación Contigua Requiere que cada archivo ocupe un conjunto de bloques contiguos en el disco. El acceso secuencial es soportada Fragmanetación externa (Compactación) Los archivos pueden crecer
Asignación Contigua
Asignación Enlazada Resuelve los problemas de la asignación contigua Cada archivo es una lista enlazada de bloques, estos pueden estar dispersos en cualquier parte del disco. El directorio contiene un apuntador al primer y al último archivo del disco. El principal problema es que solo puede ser utiliza para archivos de acceso secuencia Otro problema es que se necesita tener espacio en los bloque para los apuntadores. Una solución son los agrupamientos (clusters) Problemas en la confiailidad.
Asignación Enlazada
Asignación Indizada Resuelve los problemas de fragmentación externa y de tamaño de la asignación contigua Lleva los apuntadores juntos a una ubicación: El bloque índice
ADMINISTRACIÓN DEL ESPACIO LIBRE Para dar seguimiento al espacio libre en disco, el sistema mantiene una lista Lista de espacio libre, la cual registra todos lo bloques del disco que están libres aquellos que no están asignados a un archivo o directorio.