sistemas de archivos
DESCRIPTION
Presentación sobre Sistemas de Archivos de la cátedra Sistemas Operativos - UTN, FRCU.TRANSCRIPT
- 1. Tema del da: Implementacin de Sistemas de Archivos
2. Objetivos
- En esta clase trataremos de:
-
- 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.
3. Archivo
- Coleccin de informacinrelacionada ,con unnombre , que se graba enalmacenamientosecundario
- Atributos de un archivo:
-
- Nombre.
-
- Identificador nico.
-
- Tipo.
-
- Ubicacin (de los datos).
-
- Tamao.
-
- Proteccin.
-
- Informacin temporal.
4. Archivos
- Aspectos de implementacin:
- Atributos.
-
- Cules, dnde almacenarlos?
- Operaciones.
-
- Apertura, cierre, lectura, modificacin (contenido y atributos), bsqueda, eliminacin, truncado.
- Estructura.
-
- Como secuencia (de caracteres, de bytes), otros.
- Mtodos de Acceso.
-
- Secuencial, Aleatorio, Indexado.
5. Archivos
- Estructuras de Archivos
6. API POSIX de Archivos
- Funciones POSIX de archivos:
-
- creat(ruta, modo_prot) / Crea un archivo.
-
- unlink(ruta)/ Borra un archivo.
-
- fd = open(ruta, flags_modo)/ Abre un archivo.
-
- close(fd)/ Cierra un archivo.
-
- read(fd, *buff, n_bytes)/ Lee n_bytes.
-
- write(fd, *buff, n_bytes)/ Escribe n_bytes.
-
- lseek(fd, offset, ref)/ Desplaza puntero.
-
- fstat(fd, *stat)/ Obtiene metainfo.
-
- fcntl(fd, cmd)/ Cambia metainfo.
- * Variable pasada como parmetro.
7. Directorio
- Asociacin unvoca entre el nombre de usuariode 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.
8. Directorios
- Aspectos de implementacin:
- Atributos.
-
- Cules, dnde almacenarlos?
- Operaciones.
-
- Qu operaciones son vlidas sobre un directorio?
- Estructura.
-
- Un solo nivel, dos niveles.
-
- Como rbol.
-
- Como grafo acclico.
9. API POSIX de Directorios
- Funciones POSIX de Directorios:
-
- mkdir(ruta, modo_prot) / Crea un directorio.
-
- rmdir(ruta)/ Borra un directorio.
-
- dir = opendir(ruta)/ Abre un directorio.
-
- closedir(dir)/ Cierra un directorio.
-
- dirent = readir(dir)/ Lee sig. entrada.
-
- rewinddir(dir)/ Vuelve al principio.
-
- chdir(ruta)/ Cambia dir. Actual.
-
- ruta = getcwd()/ Directorio actual.
-
- link(ruta_ex, ruta_nue)/ Crea enlace duro.
-
- symlink(ruta_ex, ruta_nue)/ Crea enlace simb.
10. Sistema de Archivos
- Parte del sistema operativo que permite organizarla informacin dentro de los dispositivos de almacenamiento secundario en un formato inteligible para el sistema operativo
- Conceptos previos:
- Particin:
- Es una porcin de un disco a la que se le da una identidad propia y que puede ser manipulada por el sistema operativo como una entidad lgica independiente.
11. 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.
12. Sistemas de Archivos Posible implementacin de un Sistema de Archivos 13. Sistemas de Archivos
- Un sistema de archivos Unix se estructura de la siguiente manera:
-
- 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.
Boot Superbloque Nodos-I Datos 14. 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.
15. 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).
16. Sistemas de Archivos Llamadas al sistema VFS /proc PCFS HSFS tmpfs swapfs UFS RFS NFS Memoria Espacio de memoria de proceso disco cdrom diskette 17. 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.
- Como una tabla hash:
-
- Se agrega un ndice hash.
-
- El tamao fijo de la tabla hash puede ser una limitacin.
18. Sistemas de Archivos
- Directorio DOS/Windows:
- Directorio Unix:
19. Sistemas de Archivos
- Asignacin de Espacio:
- Cmo ubicamos los bloques de un archivo?
- Asignacin Contigua.
- Asignacin Enlazada.
- Asignacin Indexada.
20. Sistemas de Archivos
- Asignacin Contigua:
(a) Estado inicial. (b) Se han borrado los archivos D y F. 21. Sistemas de Archivos
- Asignacin Contigua:
- Ventajas:
- Simple de implementar.
- Rpida para accesos de bloques adyacentes
- Desventajas:
- Sufre fragmentacin externa.
- Necesita algoritmos de compactacin.
22. Sistemas de Archivos
- Asignacin Enlazada:
23. 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...
24. Sistemas de Archivos n - EOF 1 Free 5 Free 7 Bad Free . 3 7 5 1 0 1 2 3 4 5 6 7 FAT (File allocation table) Bloques del Archivo 25. 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.
26. Sistemas de Archivos
- Asignacin Indexada:
Indice externo Tabla de indices Archivo 27. Sistemas de Archivos 0 . . . . . . . . . . . . . . . . . 9 Indirecto Simple Indirecto Doble Indirecto Triple IS D D B B B ID IS D D B B B B D B B 28. Sistemas de Archivos
- Capacidad mxima:
-
- Punteros de 32 bits.
-
- Tamao de Bloque: 1024 Bytes.
- Direccionamiento directo?
-
- 10 bloques * 1024 Bytes = 10 KB.
- Indirecto Simple?
-
- Cuntos punteros en un bloque?
-
- 1024 Bytes / 32 bits = 256 direcciones / bloque.
-
- 256 bloques * 1024 Bytes = 256 KB.
29. Sistemas de Archivos
- Capacidad mxima (cont):
- Indirecto Doble?
-
- 256 IS * 256 bloques * 1024 B = 65536 KB
- Indirecto Triple?
-
- 256 ID * 256 IS * 1024 B = 16 GB.
- Total = D + IS + ID + IT = 16843018 KB.
- Y con un tamao de bloque de 4096 Bytes?
30. 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.
31. Sistemas de Archivos 32. 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.
33. Sistemas de Archivos
- Incremento de Prestaciones
- Uso de discos RAM.
- Uso de un cach de datos.
-
- Cach de nombres.
-
- Cach de bloques.
- Uso de tcnicas de lectura anticipada para optimizar accesos secuenciales.
34. Sistemas de Archivos
- Cach de Bloques
- Gestin del Cach.
-
- Poltica de Reemplazo (FIFO, MRU, LRU)
- Problemas de consistencia.
-
- Bloques especiales y bloques de datos.
- Estrategia de actualizacin.
-
- Escritura inmediata (write-through)
-
- Escritura diferida (write-back)
-
- Escritura retrasada (delayed-write)
35. Sistemas de Archivos
- Fiabilidad y Recuperacin
- Razones de prdida de datos.
-
- Destruccin fsica.
-
- Corrupcin de datos.
- Prevencin de destruccin.
-
- Copias de seguridad.
-
- Almacenamiento con redundancia.
36. Sistemas de Archivos
- Recuperacin del Sistema de Archivos
- Razones de prdida de consistencia
-
- Bloques de la cache no actualizados.
-
-
- Datos de directorios o i-nodos.
-
-
-
- Datos de programas.
-
- Al bootear o montar un sistema de archivos.
-
- Comprobar estructura fsica del FS.
-
- Comprobar la estructura lgica del FS.
37. Sistemas de Archivos
- Recuperacin del Sistema de Archivos
-
- Comprobar Superbloque.
-
- Comprobar mapas de bits de i-nodos respectode los i-nodos ocupados.
-
- Comprobar mapas de bloques respecto debloques ocupados.
-
- Verificar que ningn bloque est asignado a msde un archivo.
-
- Verificar que ningn i-nodo est asignado a msde un directorio.
38. 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?
39. Bibliografa
- Esta clasedebeser ampliada viendo:
-
- Carretero (1ra. edicin):
-
-
- Captulo 8: Gestin de Archivos y Directorios.
-
-
- Silberschatz (7ma. Edicin):
-
-
- Captulo 11: Sistemas de Archivos.
-
40. Gracias ! Ing. Gabriel E. Arellano [email_address] 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