Teoría de Sistemas Operativos Administración de Archivos
Archivos Sistemas de Archivos :: punto de vista del usuario Archivos Nombre Consiste en una serie de símbolos (letras y números principalmente). Sirven de referencia para el usuario y para ciertas aplicaciones.
Archivos Sistemas de Archivos :: punto de vista del usuario Archivos Estructura
Archivos Sistemas de Archivos :: punto de vista del usuario Archivos Estructura :: Secuencia de bytes Desde el punto del SO, el archivo es un conjunto de bytes. Este modelo es flexible. La estructura del archivo tiene sentido para el usuario o para los procesos que los crearon.
Archivos Sistemas de Archivos :: punto de vista del usuario Archivos Estructura :: Secuencia de Registros Similar al anterior. El archivo está constituído por una serie de registros. Cada registro tiene una estructura determinada y su tamaño no varía. Las operaciones de lectura y escritura trabajan a nivel de registros (recuerdo de las tarjetas perforadas)
Archivos Sistemas de Archivos :: punto de vista del usuario Archivos Estructura :: Árbol El archivo está constituido por un árbol de registros. Cada registro tiene una llave, y el tamaño de él tamaño puede variar. El árbol se ordena con respecto a la llave.
Archivos Sistemas de Archivos :: punto de vista del usuario Archivos Tipos Archivos regulares Aquellos que contiene información del usuario Archivos en ASCII: constan de líneas de texto Binarios: ejecutables, imágenes, etc.., los ejecutables tienen cinco secciones: encabezado, texto, datos, bits de reasignación y tabla símbolos
Archivos Sistemas de Archivos :: punto de vista del usuario Archivos Tipos Directorios Archivos del sistema para el mantenimiento de una estructura del sistema de archivos
Archivos Sistemas de Archivos :: punto de vista del usuario Archivos Tipos Archivos especiales de caracteres Están relacionados con I/O y se utilizan para modelar dispositivos seriales de I/O tales como terminales, impresoras y acceso a redes.
Archivos Sistemas de Archivos :: punto de vista del usuario Archivos Tipos Archivos especiales de bloques Son utilizados para modelar discos
Archivos Sistemas de Archivos Archivos Tipos :: Archivos regulares
Archivos Sistemas de Archivos :: punto de vista del usuario Archivos Acceso Secuencial - Registros en orden físico - Siguiente registro es el que sigue físicamente al anterior. - Cinta magnética, disco (no todos)
Archivos Sistemas de Archivos :: punto de vista del usuario Archivos Acceso Directo - Acceso directo (aleatorio) a los registros por su dirección física en un dispositivo de almacenamiento de acceso directo - Los registros se graban en cualquier orden apropiado para una aplicación específica - Hashing
Archivos Sistemas de Archivos :: punto de vista del usuario Archivos Acceso • Secuencial indexado - Se acomodan de acuerdo a una clave contenida en cada registro - Sistema mantiene un índice con las direcciones físicas de ciertos registros principales - Acceso a registros por medio de clave o mediante una búsqueda dentro del índice creado por el sistema - Bases de Datos
Archivos Sistemas de Archivos :: punto de vista del usuario Archivos Acceso Métodos por colas -Se usa cuando es posible anticipar la secuencia en la que se procesarán los registros, (acceso secuencial y sec. indexado) - Llevan a cabo una transferencia anticipada a través buffers. - Procura tener el siguiente registro disponible para ser procesado tan pronto como se procesa el registro anterior.
Archivos Sistemas de Archivos :: punto de vista del usuario Archivos Acceso Métodos de acceso básico - Utilizados cuando no es posible anticipar el orden en el que se van a procesar los registros, (acceso directo) - Lee y escribe bloques físicos.
Archivos Sistemas de Archivos :: punto de vista del usuario Creador Atributos Creador Propietario Fecha Creación Fecha Modificación Tamaño Actual Tamaña Máximo
Archivos Sistemas de Archivos :: punto de vista del usuario Archivos Operaciones • Manipulación a partir de operaciones: - Abrir - Cerrar - Crear - Eliminar - Leer - Escribir - Agregar - Buscar
Archivos Sistemas de Archivos :: punto de vista del usuario Directorios Sistemas jerárquicos Almacenar todos los datos por archivo en el mismo lugar, (por entrada en el directorio) Directorio_1 Atributos Directorio_2 Directorio_3 atributos
Archivos Sistemas de Archivos :: punto de vista del usuario Directorios Sistemas jerárquicos Almacenar un apuntador a otra estructura de datos Directorio_1 Directorio_2 Directorio_3 Estructuras de datos
Archivos Sistemas de Archivos :: punto de vista del usuario Directorios Rutas de acceso (PATH) Ruta de acceso absoluta. Ruta de acceso relativa. Directorio de trabajo.
Archivos Sistemas de Archivos :: punto de vista del usuario Directorios Rutas de acceso (PATH) Ruta de acceso absoluta. /usr/local/bin/apache/bin/apachectl Directorio Raíz
Archivos Sistemas de Archivos :: punto de vista del usuario Directorios Rutas de acceso (PATH) Ruta de acceso relativa. ../apache/bin/apachectl
Archivos Sistemas de Archivos :: punto de vista del usuario Directorios Rutas de acceso (PATH) Directorio de trabajo. # cd /home/alm96/cbarkley # pwd # /home/alm96/cbarkley
Archivos Sistemas de Archivos :: punto de vista del usuario Directorios Rutas de acceso (PATH) Directorio de trabajo. # cd /home/alm96/cbarkley # pwd # /home/alm96/cbarkley
Archivos Sistemas de Archivos :: punto de vista del usuario Directorios Operaciones con directorios Crear y eliminar Abrir y cerrar Leer Cambiar de nombre Ligar y desligar
Archivos Sistemas de Archivos :: Implantación Introducción Cómo se realiza el registro de los bloques asociados a cada archivo. 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.
Archivos Sistemas de Archivos :: Implantación de Archivos Tipos de implantación Asignación adyacente Asignación en forma de lista ligada. Asignación mediante lista ligada y un índice. Nodos índice
Archivos Sistemas de Archivos :: Implantación de Archivos Tipos de implantación :: 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.
Archivos Sistemas de Archivos :: Implantación de Archivos Tipos de implantación :: Asignación adyacente 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
Archivos Sistemas de Archivos :: Implantación de Archivos Tipos de implantación :: 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
Archivos Sistemas de Archivos :: Implantación de Archivos Tipos de implantación :: 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)
Archivos Sistemas de Archivos :: Implantación de Archivos Tipos de implantación :: Lista ligada Bloque archivo 1 2 3 4 Archivo A 4 7 2 10 12 Bloque Físico Bloque archivo 1 2 3 Archivo B 6 3 11 14
Archivos Sistemas de Archivos :: Implantación de Archivos Tipos de implantación :: 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.
Archivos Sistemas de Archivos :: Implantación de Archivos Tipos de implantación :: Lista ligada con índice 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)
Archivos Sistemas de Archivos :: Implantación de Archivos Tipos de implantación :: Lista ligada con índice 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 A comienza aquí Bloque físico El archivo B comienza aquí Bloque no utilizado
Archivos Sistemas de Archivos :: Implantación de Archivos Tipos de implantación :: 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.
Archivos Sistemas de Archivos :: Implantación de Archivos Tipos de implantación :: 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”.
Archivos Sistemas de Archivos :: Implantación de Archivos Tipos de implantación :: Nodos índice
Archivos Sistemas de Archivos :: Implantación de Directorios Descripción 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.
Archivos Sistemas de Archivos :: Implantación de Directorios Descripción 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.
Archivos Sistemas de Archivos :: Implantación de Directorios Directorios en DOS La longitud de cada entrada en el directorio es de 32 bytes.
Archivos Sistemas de Archivos :: Implantación de Directorios Directorios en Unix Cada entrada contiene un nombre de archivo y su nodo-i.
Archivos Sistemas de Archivos :: Implantación de Directorios Directorios en Unix Toda la información relativa a tamaño, tipo, fecha, hora y bloques de disco está almacenada en el nodo-i
Archivos Sistemas de Archivos :: Implantación de Directorios Directorios en Unix :: Ejemplo : abrir /usr/bin/ls / 1 . 1 .. 4 bin 14 etc 6 usr Se busca el i-nodo del directorio usr en el directorio raíz (/)
Archivos Sistemas de Archivos :: Implantación de Directorios Directorios en Unix :: Ejemplo : abrir /usr/bin/ls / i-nodo 6 1 . Head 1 .. 4 bin 132 14 etc 6 usr ==> /usr está asociado el i-nodo 6. ==> Este i-nodo nos dice que el directorio se encuentra en el bloque 132 del disco
Archivos Sistemas de Archivos :: Implantación de Directorios Directorios en Unix :: Ejemplo : abrir /usr/bin/ls / i-nodo 6 /usr 1 . Head 6 . 1 .. 1 .. 4 bin 132 41 sbin 14 etc 15 local 6 usr 61 bin ==> Dicha estructura (/usr) nos dice que el directorio bin tiene asociado el i-nodo 61.
Archivos Sistemas de Archivos :: Implantación de Directorios Directorios en Unix :: Ejemplo : abrir /usr/bin/ls i-nodo 6 /usr i-nodo 61 Head 6 . Head 1 .. 132 41 sbin 87 15 local 61 bin ==> /usr/bin está asociado el i-nodo 61. ==> Este i-nodo nos dice que el directorio bin se encuentra en el bloque 87 del disco
Archivos Sistemas de Archivos :: Implantación de Directorios Directorios en Unix :: Ejemplo : abrir /usr/bin/ls /usr i-nodo 61 /usr/bin 6 . Head 87 . 1 .. 6 .. 41 sbin 87 78 cp 15 local 83 rm 61 bin 91 ls ==> La estructura de /usr/bin nos dice que el archivo ls tiene asociado el i-nodo 91.
Archivos Sistemas de Archivos :: Implantación de Directorios Directorios en Unix :: Ejemplo : abrir /usr/bin/ls i-nodo 61 /usr/bin i-nodo 91 Head 87 . Atributos Atributos Atributos 6 .. 87 78 cp 83 rm 91 ls ==> Finalmente el i-nodo 91 se carga en memoria y se ejecuta el programa
Archivos Sistemas de Archivos :: Administración de Espacio en Disco Registro de bloques libres En forma de lista ligada En forma de Mapa de Bits
Archivos Sistemas de Archivos :: Administración de Espacio en Disco Registro de bloques libres ::En forma de lista ligada Bloque 1 Bloque 2 Bloque 3 Bloque 4 Bloque 5 Bloque 6 Bloque 7 Bloque 8 Bloque 9 Bloque 10 Bloque 11 Bloque 12
Archivos Sistemas de Archivos :: Administración de Espacio en Disco Registro de bloques libres ::En forma de mapa de bits Bloque 1 Bloque 2 Bloque 3 Bloque 4 0 1 1 0 1 1 0 0 0 1 0 0 Bloque 5 Bloque 6 Bloque 7 Bloque 8 Bloque 9 Bloque 10 Bloque 11 Bloque 12
Archivos Sistemas de Archivos :: Administración de Espacio en Disco Restricción de espacio: Cuotas (Disk Quotas) Cuotas: Número máximo de recursos (Kbytes, archivos) del sistema de archivos de que puede disponer un usuario. El i-nodo de cada archivo abierto contiene un puntero a una tabla de cuotas del usuario que abrió el fichero. La tabla contienen los límites flexibles y estrictos de número de bloques y archivos permitidos.
Archivos Sistemas de Archivos :: Confiabilidad Los discos, como cualquier otro dispositivo hardware, pueden fallar. Pero los usuarios quieren seguir trabajando...
Archivos Sistemas de Archivos :: Confiabilidad Bloques defectuosos 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.
Archivos Sistemas de Archivos :: Confiabilidad Bloques defectuosos 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.
Archivos Sistemas de Archivos :: Respaldos 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.
Archivos Sistemas de Archivos :: Respaldos Algunas técnicas Respaldos incrementales: Sólo los cambios desde el último respaldo general.
Archivos Sistemas de Archivos :: Consistencia Las faltas de consistencia se producen cuando: Hay una fallo en sistema entre la modificación de un bloque (en memoria) y su copia en disco. Lo anterior es especialmente grave si el bloque contiene i-nodos, directorios o listas de bloques libres
Archivos Sistemas de Archivos :: Consistencia Surgen dos necesidades: Herramientas que comprueben la consistencia. Herramientas que restablezcan la consistencia.
Archivos Sistemas de Archivos :: Consistencia 1er tipo de análisis de consistencia El programa que analiza la consistencia: Crea una tabla de bloques ocupados . Crea una tabla de bloques libres, que actualiza leyendo los i-nodos y la lista de bloques libres del sistema.
Archivos Sistemas de Archivos :: Consistencia 1er tipo de análisis de consistencia: Inconsistencias posibles: Un bloque no está en ninguna de las dos tablas. Un bloque aparece en las dos tablas Un bloque aparece más de una vez en una de las tablas.
Archivos Sistemas de Archivos :: Consistencia 1er tipo de análisis de consistencia: Posibles Incons.
Archivos Sistemas de Archivos :: Consistencia 2do tipo de análisis de consistencia El programa que analiza la consistencia: El programa recorre el árbol de directorios Crea una tabla de i-nodos que contiene el número referencias hechas a un archivo. El número de referencias se comparan con el número de enlaces que aparece en los propios i-nodos.
Archivos Sistemas de Archivos :: Consistencia 2do tipo de análisis de consistencia Inconsistencias posibles: El número enlaces es mayor que el número de referencias desde los directorios. El número de enlaces es menor que el número de referencias.
Archivos Sistemas de Archivos :: Consistencia Otros tipo de análisis de consistencia Otras comprobaciones: Número de i-nodo mayor que el máximo posible. Permisos “extraños'', directorios muy grandes, “setuid'' en sitios “raros''. Comprobación contra una lista de “firmas'', fechas y tamaños.