1 / 28

Teoría de Sistemas Operativos Archivos

Teoría de Sistemas Operativos Archivos. Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz http://www.elo.utfsm.cl/~elo321. El sistema de archivos utiliza ciertas estructuras residentes en el disco duro: Bloque de control de boot:

Download Presentation

Teoría de Sistemas Operativos Archivos

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Teoría de Sistemas OperativosArchivos Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz http://www.elo.utfsm.cl/~elo321

  2. El sistema de archivos utiliza ciertas estructuras residentes en el disco duro: • Bloque de control de boot: • Contiene la información necesario para que el SO se inicie en la partición. • En UFS  Boot Block • EN NTFS  partition boot sector. • Bloque de control de la partición: • N° y tamaño de los bloques. • N° y punteros a Bloques libres • UFS  superblock • NTFS  Master File Table

  3. Además, maneja en memoria otras estructuras: • Tabla de archivos abiertos del sistema. • Tabla de archivos abiertos por proceso. • Caché de las estructuras de disco.

  4. Funciones • Debe determinar cómo se realiza el registro de los bloques asociados a cada archivo. • Debe administrar el espacio disponible en el disco. • Registro de bloques (Asignación) • El espacio en disco se divide en unidades de asignación, denominadas bloques • Cuando un proceso solicita espacio en disco se entregará una cantidad de bloques que satisfaga las necesidades.

  5. Implementación de Archivos • Tipos de Asignación: • Asignación adyacente • Asignación en forma de lista ligada. • Asignación mediante lista ligada y un índice. • Nodos índice

  6. Implementación de Archivos • Asignación adyacente Los archivos se asignan a zonas contiguas de almacenamiento secundario. Ventajas - Fácil implantación ya que el registro de la localización de un archivo solo implica guardar la dirección donde este inicia y su longitud. - El rendimiento es muy bueno puesto que el archivo se puede leer en una sola operación.

  7. Implementación de Archivos • Asignación adyacente Los archivos se asignan a zonas contiguas de almacenamiento secundario.

  8. Implementación de Archivos • Asignación adyacente Los archivos se asignan a zonas contiguas de almacenamiento secundario. • Desventajas • - Para su implementación se hace necesario conocer el tamaño del archivo al momento de su creación. • Se puede presentar fragmentación externa del disco, lo que requeriría hacer compactaciones frecuentemente. • Dificulta que los archivos puedan variar de tamaño con el tiempo

  9. Implementación de Archivos • Lista ligada • Se mantiene a cada • archivo como una lista • ligada de bloques • en disco • La primera palabra de • cada bloque se utiliza como apuntador a la siguiente. El resto del bloque contiene datos • Se puede utilizar cada bloque del disco • No se pierde espacio debido a la fragmentación

  10. Implementación de Archivos • Lista ligada • Es suficiente que la entrada del directorio guarde sólo la dirección en disco del primer bloque. • Lectura secuencial directa, pero acceso aleatorio lento. • Cantidad espacio para almacenar datos en un bloque ya no es potencia de dos. (menos eficiente)

  11. Implementación de Archivos • Lista ligada con índice • Elimina los problemas de la lista ligada. • Toma la palabra del puntero de cada bloque del disco y lo coloca en una tabla o índice de la memoria. • Acceso aleatorio más sencillo • Toda la tabla de estar en la memoria todo el tiempo para que funcione. • Es utilizado por MS-DOS y win9x (FAT)

  12. Implementación de Archivos • Lista ligada con índice

  13. Bloque físico El archivo A comienza aquí 0 1 2 10 3 11 4 7 5 6 3 7 2 8 9 10 12 11 14 12 0 13 14 0 15 El archivo B comienza aquí Bloque no utilizado Implementación de Archivos • Lista ligada con índice

  14. Implementación de Archivos • Nodos índice • Se asocia a cada • archivo una pequeña • tabla llamada nodo-i. • (o nodo índice). • La tabla contiene los atributos y direcciones en disco de los bloques del archivo. • Primeras direcciones en disco se almacenan en el propio nodo-i.

  15. Implementación de Archivos • Nodos índice • En Archivos pequeños toda la información está contenida en el nodo-i, el que se traslada del disco a memoria principal al abrir el archivo • En Archivos grandes, una de las direcciones del nodo-i es la dirección de un bloque en el disco llamado bloque simplemente indirecto y contiene direcciones en discos adicionales. • Unix utiliza “i-nodos”.

  16. Implementación de Archivos • Nodos índice

  17. Implementación de Directorios Antes de poder acceder a un archivo, este debe ser abierto. Al abrirlo, el sistema operativo utiliza la ruta de acceso (path) dada por el usuario para localizar el nombre en el directorio. Allí se encuentra la información necesaria para encontrar los bloques en el disco.

  18. Implementación de Directorios Según el tipo de Implementación del Sistema de Archivos, esta información puede ser: • La dirección en disco de todo el archivo (asignación adyacente), • El número del primer bloque (listas ligadas y listas ligadas con índice) • El número del nodo-i.

  19. Directorios en DOS Directorios en UNIX

  20. Ejemplo de acceso a /usr/ast/mbox

  21. Los espacios de memoria se administran en base a una lista ligada

  22. Cuotas: Número máximo de recursos (Kbytes, archivos) del sistema de archivos de que puede disponer un usuario.

  23. Solución software • Se detectan los bloqueos defectuosos utilizando una función (format, chkdsk, fsck, etc). • El programa indica en la tabla correspondiente que el bloque es defectuoso, y por lo tanto no debe ser usado. • Solución hardware • El fabricante proporciona una lista de sectores defectuosos tras realizar el formateo a bajo nivel. • Esta lista se almacena en un bloque o sector, junto a los sustitutos de los bloques defectuosos.

  24. Cuando un bloque se corrompe durante el tiempo de funcionamiento, los datos normalmente se pierden, y deben ser restaurados desde un sistema de respaldo, que contenga copia en cinta, disco óptico, o en otro disco magnético del sistema de archivos. • Varias técnicas de Respaldo: • Completos • Incrementales

  25. Los journaling filesystems, usan un archivo especial llamado log o journal. • Cada vez que el filesystem es modificado, se agrega al log un registro describiendo la modificación. • Un proceso analiza esos registros, escribe el filesystem y marca esa modificación como 'completada'. • Si la máquina se cuelga, el proceso journal se corre al reiniciar y simplemente termina de hacer las modificaciones descritas en el log al filesystem. • Las transacciones incompletas en el log, son descartadas.  mantiene la consistencia interna del filesystem.

  26. Existen distintas implementaciones de journaling: • ReiserFS • XFS/Linux de SGI • Ext3fs • JFS de IBM

More Related