Professional Documents
Culture Documents
Objetivos
Repasar el concepto de archivo y directorio. Analizar las cuestiones de diseo e implementacin de un sistema de archivos. Evaluar las ventajas y desventajas de cada estrategia de implementacin.
Archivo
Coleccin de informacin relacionada, con un nombre, que se graba en almacenamiento secundario Nombre. Identificador nico. Tipo. Ubicacin (de los datos). Tamao. Proteccin. Informacin temporal.
Atributos de un archivo:
Archivos
Aspectos de implementacin: Atributos.
Cules, dnde almacenarlos?
Operaciones. Estructura.
Apertura, cierre, lectura, modificacin (contenido y atributos), bsqueda, eliminacin, truncado. Como secuencia (de caracteres, de bytes), otros.
Mtodos de Acceso.
Archivos
Estructuras de Archivos
/ Crea un archivo. / Borra un archivo. / Abre un archivo. / Cierra un archivo. / Lee n_bytes. / Escribe n_bytes. / Desplaza puntero. / Obtiene metainfo. / Cambia metainfo.
Directorio
Asociacin unvoca entre el nombre de usuario de un archivo y su representacin interna (metainformacin y contenido)
Desde el punto de vista del diseo se lo puede ver como una tabla que en cada entrada tiene el nombre de usuario del archivo junto a informacin que permite recuperar sus metadatos y contenido.
Directorios
Aspectos de implementacin: Atributos.
Cules, dnde almacenarlos?
Operaciones. Estructura.
Qu operaciones son vlidas sobre un directorio? Un solo nivel, dos niveles. Como rbol. Como grafo acclico.
/ Crea un directorio. / Borra un directorio. / Abre un directorio. / Cierra un directorio. / Lee sig. entrada. / Vuelve al principio. / Cambia dir. Actual. / Directorio actual. / Crea enlace duro. / Crea enlace simb.
Sistema de Archivos
Parte del sistema operativo que permite organizar la informacin dentro de los dispositivos de almacenamiento secundario en un formato inteligible para el sistema operativo
Sistemas de Archivos
Aspectos de implementacin: Particiones y Montaje. Sistema de Archivos Virtual. Implementacin de Directorios. Asignacin de Espacio. Gestin del Espacio Libre. Eficiencia y Prestaciones. Recuperacin.
Sistemas de Archivos
Sistemas de Archivos
Un sistema de archivos Unix se estructura de la siguiente manera:
Boot Superbloque Nodos-I Datos
Boot: Cdigo de arranque (opcional). Superbloque: metadatos del sistema de archivos. Nodos-I: lista de los nodos-i del FS. Datos: bloques de datos del sistema de archivos.
Sistemas de Archivos
El Superbloque contiene: Tamao del sistema de archivos. Lista de bloques libres disponibles. Indice del siguiente bloque libre en la lista de bloques libres. Tamao de la lista de nodos-i. Total de nodos-i libres. Lista de nodos-i libres.
Sistemas de Archivos
Sistema de Archivos Virtual (VFS): Separa las operaciones genricas sobre archivos de su implementacin. Define una interfaz clara y homognea. Proporciona un mecanismo para representar de manera coherente sistemas de archivos remotos y pseudo-sistemas de archivos (el nodo-V).
Sistemas de Archivos
Llamadas al sistema
VFS
tmpfs
swapfs
UFS
HSFS
PCFS
RFS
/proc
NFS
disco Memoria
cdrom
diskette
Sistemas de Archivos
Implementacin de Directorios: Como una lista lineal:
Simple de programar pero costoso en CPU. Para ubicar un archivo hay que recorrer todo el directorio. Puede mejorarse con un arbol-B.
Se agrega un ndice hash. El tamao fijo de la tabla hash puede ser una limitacin.
Sistemas de Archivos
Directorio DOS/Windows:
Directorio Unix:
Sistemas de Archivos
Asignacin de Espacio: Cmo ubicamos los bloques de un archivo? Asignacin Contigua. Asignacin Enlazada. Asignacin Indexada.
Sistemas de Archivos
Asignacin Contigua:
Sistemas de Archivos
Asignacin Contigua: Ventajas: Simple de implementar. Rpida para accesos de bloques adyacentes Desventajas: Sufre fragmentacin externa. Necesita algoritmos de compactacin.
Sistemas de Archivos
Asignacin Enlazada:
Sistemas de Archivos
Asignacin Enlazada: Ventajas: No sufre fragmentacin. Rpida para accesos secuenciales. Desventajas: Los accesos aleatorios son lentos. El tamao de bloque no es potencia de 2...
Sistemas de Archivos
FAT (File allocation table)
0 1 2 3 4 5 6 7
.
Free
Sistemas de Archivos
Asignacin Enlazada Usando un ndice (FAT): Los punteros estn en la FAT as que no ocupan espacio en el bloque. La FAT se mantiene en memoria as se pueden acelerar las bsquedas aleatorias. Dependiendo del tamao de bloque la FAT puede llegar a ocupar bastante memoria. Se mantienen dos copias de la FAT por cuestiones de seguridad.
Sistemas de Archivos
Asignacin Indexada:
Indice externo
Tabla de indices
Archivo
Sistemas de Archivos
0
. . . . . . . . . . . . . . . . .
B B B B D B B D IS IS ID D D D B
Sistemas de Archivos
Punteros de 32 bits. Tamao de Bloque: 1024 Bytes.
Capacidad mxima:
10 bloques * 1024 Bytes = 10 KB. Cuntos punteros en un bloque? 1024 Bytes / 32 bits = 256 direcciones / bloque. 256 bloques * 1024 Bytes = 256 KB.
Sistemas de Archivos
Capacidad mxima (cont): Indirecto Doble? Indirecto Triple?
256 IS * 256 bloques * 1024 B = 65536 KB 256 ID * 256 IS * 1024 B = 16 GB.
Sistemas de Archivos
Gestin del Espacio Libre: Cmo encontramos un bloque libre? Lista de bloques libres. Mapas de bits. Lista de bloques y grupos libres.
Sistemas de Archivos
Sistemas de Archivos
Mapas de bits: 1 bit por cada bloque del disco. 1 para ocupado y 0 para libre. Ocupan poco espacio. Muy dificil hacer una bsqueda de varios bloques. Pobre performance en discos muy llenos.
Sistemas de Archivos
Incremento de Prestaciones Uso de discos RAM. Uso de un cach de datos. Uso de tcnicas de lectura anticipada para optimizar accesos secuenciales.
Cach de nombres. Cach de bloques.
Sistemas de Archivos
Cach de Bloques Gestin del Cach.
Poltica de Reemplazo (FIFO, MRU, LRU) Bloques especiales y bloques de datos. Escritura inmediata (write-through) Escritura diferida (write-back) Escritura retrasada (delayed-write)
Sistemas de Archivos
Fiabilidad y Recuperacin Razones de prdida de datos.
Destruccin fsica. Corrupcin de datos.
Prevencin de destruccin.
Sistemas de Archivos
Recuperacin del Sistema de Archivos Razones de prdida de consistencia
Datos de directorios o i-nodos. Datos de programas.
Sistemas de Archivos
Recuperacin del Sistema de Archivos
1 Comprobar Superbloque. 2 Comprobar mapas de bits de i-nodos respecto de los i-nodos ocupados. 3 Comprobar mapas de bloques respecto de bloques ocupados. 4 Verificar que ningn bloque est asignado a ms de un archivo. 5 Verificar que ningn i-nodo est asignado a ms de un directorio.
Sistemas de Archivos
Ejemplo
Para comprobar la consistencia de un sistema de archivos de Unix, el comprobador de consistencia (fsck) construye dos listas de contadores (cada bit mantiene informacin de un bloque de disco)
en uso: 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 libres: 0 0 0 1 1 1 0 0 0 1 0 1 1 0 1
Existen errores? Son serios estos errores? Qu acciones correctivas sera necesario realizar sobre la informacin del sistema de archivos?
Bibliografa
Carretero (1ra. edicin):
Gracias !
Ing. Gabriel E. Arellano
gabrielarellano@gmail.com http://www.gabriel-arellano.com.ar/so/
(2008) Gabriel E. Arellano Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. The GNU Free Documentation License as applicable to this document can be found at: http://www.gnu.org/copyleft/fdl.html