sistemas de archivos

Download Sistemas de Archivos

If you can't read please download the document

Upload: gabriel-arellano

Post on 13-Jun-2015

20.518 views

Category:

Technology


0 download

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