Sistemas de Archivos

53
Sistema de Archivos: Interfaz Necesidad de gestionar el almacenamiento no volátil SISTEMA DE COMPUTACIÓN necesitad de almacenar y recuperar información Característica fundamental del medio de almacenamiento: NO VOLATILIDAD Variedad de medios donde almacenar información: discos magnéticos, cintas magnéticas, discos ópticos, etc... Ventaja Permite elegir el medio más adecuado en función de las necesidades particulares: cantidad de información a almacenar, velocidad de acceso, fiabilidad, etc... Desventaja Requiere conocer las particularidades de cada medio

description

es un documento de informacion sobre sistemas de archivos impartido en una clase

Transcript of Sistemas de Archivos

Page 1: Sistemas de Archivos

Sistema de Archivos: Interfaz

Necesidad de gestionar el almacenamiento no volátil

SISTEMA DE COMPUTACIÓN necesitad de almacenar y recuperar información

Característica fundamental del medio de almacenamiento: NO VOLATILIDAD

• Variedad de medios donde almacenar información: discos magnéticos, cintas magnéticas, discos ópticos, etc... Ventaja

Permite elegir el medio más adecuado en función de las necesidades particulares: cantidad de información a almacenar, velocidad de acceso, fiabilidad, etc...

• Desventaja• Requiere conocer las particularidades de cada medio

Page 2: Sistemas de Archivos

Concepto de Archivo Un almacén persistente de información accesible mediante

un nombreEspacio de direcciones lógicas contiguasSirve para organizar la información como lo hacemos las

personas

En general un archivo es una secuencia de bits cuyo significado el creador y usuario define.

SISTEMA DE ARCHIVOS: conjunto de módulos del SO que se encargan de la gestión de la información (archivos)

Page 3: Sistemas de Archivos

Atributos de archivo:

Aparte de su contenido, todo archivo tiene atributos quelo describen:

Nombre (cadena de caracteres) Tipo de archivo (necesario en sistemas que reconocen

distintos tipos) Ubicación en el dispositivo Tamaño Información de protección Fechas, horas e identificación del usuario

Page 4: Sistemas de Archivos

Estructura de Archivo• Ninguna – secuencia de palabras, bytes• Estructura de registros simple

• Líneas• Longitud fija• Longitud variable

• Estructuras Complejas• Documento con formato• Archivo de carga reubicable

• Se pueden simular estos dos últimos puntos con el primer método por la inserción de caracteres de control apropiados

• Lo decide:• El sistema operativo• El programa

Page 5: Sistemas de Archivos

Operaciones sobre Archivos

• creación• escritura• lectura• reposición puntero corriente• borrado• truncado• open(Fi) – busca la estructura de directorio en el disco para

la entrada Fi, y mueve el contenido de la entrada a la memoria.

• close (Fi) – mueve el contenido de la entrada Fi en la memoria a la estructura del directorio en el disco.

Page 6: Sistemas de Archivos

Archivos Abiertos• Son necesarios varios datos para administrar los archivos

abiertos:• Puntero corriente del archivo: punteros a la última

locación read/write, hay un puntero por proceso que tiene el archivo abierto.

• Cuenta de archivo abierto: cuenta el número de veces que el archivo es abierto, permite remover datos de la tabla de archivos abiertos cuando el último proceso lo cierra.

• Locación en el disco del archivo: información de acceso a datos en el caché.

• Derechos de acceso: información del modo de acceso por proceso.

Page 7: Sistemas de Archivos

Locking de Archivos Abiertos Provisto por algunos sistemas operativos y sistemas de

archivos

Media en el acceso al archivo

Mandatorio flexible:

Mandatorio – el acceso es rechazado dependiendo de los locks que se tienen y requeridos

Flexible – los procesos verifican el estado de los locks y decide que hacer

Page 8: Sistemas de Archivos

Tipos de Archivo – nombre, extension

Page 9: Sistemas de Archivos

Métodos de AccesosAcceso Secuencial

read nextwrite nextresetno read after last write (rewrite)

Acceso Directoread nwrite nposition to n

read nextwrite nextrewrite n

n = número relativo de bloqueAcceso IndexadoRequiere de estructuras adicionales: tablas de indices

Page 10: Sistemas de Archivos

Archivo de Acceso Secuencial

Page 11: Sistemas de Archivos

Simulación del Acceso Secuencial en unArchivo de Acceso Directo

Page 12: Sistemas de Archivos

Ejemplo de Archivo Indexado y Relativo

Page 13: Sistemas de Archivos

Estructura de Directorio

Page 14: Sistemas de Archivos

Una Organización Típica de un sistema de Archivos

Page 15: Sistemas de Archivos

Información en un Directorio de Dispositivo

NombreTipoDirección Longitud corrienteMáxima longitud Fecha del último acceso Fecha de la última actualización (para vuelco) ID del dueño Información de protección

Page 16: Sistemas de Archivos

Operaciones sobre un Directorio

Búsqueda de un archivo

Creación de un archivo

Borrado de un archivo

Listado de un directorio

Renombrado de un archivo

Atravesar un sistema de archivos

Page 17: Sistemas de Archivos

Organice el Directorio (Logicamente) para Obtener:

• Eficiencia – localizar un archivo rapidamente.

• Nombres – conveniente para los usuarios.

• Dos usuarios pueden tener el mismo nombre para

diferentes archivos.

• El mismo archivo puede tener varios nombres diferentes.

• Agrupamiento – agrupamiento lógico de archivos por

• propiedades, (p.e., todos los programas Pascal, todos

• los juegos, …)

Page 18: Sistemas de Archivos

Directorio de nivel único Estructura de directorio más sencilla: todos los archivos se

guardan en el mismo directorio

Problemas: Conflictos de nombres (al aumentar el numero de

ficheros) Mala organización en sistemas multiusuario El tiempo de búsqueda tiende a aumentar

Page 19: Sistemas de Archivos

Directorio de dos niveles

• Desventaja principal de la estructura de nivel único confusión de nombres entre diferentes usuarios

• Solución natural un directorio por usuario

Page 20: Sistemas de Archivos

Directorio de dos niveles

Se resuelve el problema de conflictos de nombres (entre

diferentes usuarios)

Problema: compartir información (algunos sistemas impiden

el acceso a los directorios de otros usuarios)

Aparece el concepto de ruta (path)

Archivos de sistema a usuario especial

Page 21: Sistemas de Archivos

Estructura Arbórea de Directorios

Generalización árbol de altura arbitraria (subdirectorios)

Page 22: Sistemas de Archivos

Estructura Arbórea de Directorios (Cont.)

Búsqueda eficiente

Se reducen al mínimo los conflictos de nombres

Capacidad de agrupamiento

Directorio corriente (directorio de trabajo)

cd /spell/mail/prog

type list

Page 23: Sistemas de Archivos

Estructura Arbórea de Directorios (Cont.) Camino de nombres absoluto o relativo La creación de un nuevo archivo se hace en el directorio

corriente. Borrado de un archivo

rm <nombre-arch> La creación de un nuevo subdirectorio se hace en el

directorio corriente.

mkdir <nombre-dir>Ejemplo: si el directorio corriente es /spell/mail

mkdir count⇒ /spell/mail/count Borrar “mail” ⇒ borrar el subárbol entero cuya raíz es “mail”.

Page 24: Sistemas de Archivos

Grafo Acíclico de Directorios

Page 25: Sistemas de Archivos

Grafo Acíclico de Directorios (Cont.) Dos nombres diferentes (alias) Si dict borra list⇒ quedan punteros solitarios.

Soluciones: Punteros hacia atrás, así se pueden borrar todos los

punteros.Los registros de tamaño variable son un problema. Punteros hacia atrás usando una organización

“cadena margarita”. Contador de entradas al archivo. Nueva entrada en el directorio Link – Otro nombre (puntero) a un archivo existente Resuelva el link – siga el puntero hasta localizar el

archivo

Page 26: Sistemas de Archivos

Grafo Acíclico de Directorios (Cont.)

Page 27: Sistemas de Archivos

Grafo General de Directorio

Page 28: Sistemas de Archivos

Grafo General de Directorio (Cont.) ¿Cómo se garantiza que no haya ciclos?

Permita enlaces (links) a archivos y no a sudirectorios. “Garbage collection”.Cada vez que se agrega un nuevo enlace (link) se usa un

algoritmo de detección de ciclos para determinar si estábien.

Montaje de Sistema de Archivos (Mounting) Un sistema de archivos debe ser montado antes de que pueda

ser accedido. Un sistema de archivos sin montar (siguientes slides) es

montado en un punto de montaje (mount point).

Page 29: Sistemas de Archivos

Archivos Compartidos

Es deseable compartir archivos en un sistema

multiusuario.

La acción de compartir debe ser hecha por medio de un

esquema de protección.

En sistemas distribuidos los archivos pueden ser

compartidos a través de la red.

Network File System (NFS) es un método

Page 30: Sistemas de Archivos

Archivos Compartidos – Múltiples Usuarios

n Los User IDs identifyican usuarios, admiten permisos yprotección por usuarios

n Los Group IDs admite agrupar usuarios en grupos,permitiendo asignar al mismo derechos de acceso

Page 31: Sistemas de Archivos

Archivos Compartidos – Modos de Fallas

Los sistemas de archivos remotos agregan nuevos modosde fallas, debido a las fallas de las redes, fallas en losservidores, etc.

La recuperación de fallas puede involucrar información deestado acerca del status de cada requerimiento remoto.

Protocolos sin estados como NFS incluyen toda lainformación en cada petición, permitiendo fácilrecuperación pero menos seguridad

Page 32: Sistemas de Archivos

Archivos Compartidos – Semántica de ConsistenciaLa semántica de consistencia especifica como múltiples usuariospueden acceder a un archivo compartido simultaneamente Similar a los algoritmos de sincronización

Tienden a ser menos complejos debido a las E/S a disco la latencia de la red (sistemas de archivos remotos)

Andrew File System (AFS) implementa una semántica muy compleja para compartir archivos

El sistema de archivos Unix (UFS) implementa: Las escrituras sobre un archivo abierto son visibles

inmediatamente a los otros usuarios que comparten el mismo archivo.

El puntero a archivos compartidos permite que múltiples usuarios lean y escriban concurrentemente

AFS tiene una semántica de sesión Las escrituras son solo visibles solo después que la

sesión termina

Page 33: Sistemas de Archivos

Protección de ArchivosNecesidad de mantener la seguridad de lainformación:

• De daños físicos (integridad)• Copias de seguridad

• Accesos indebidos (privacidad)• Múltiples mecanismos según

• Tipo sistema• Seguridad requerida

Page 34: Sistemas de Archivos

Protección de ArchivosMuchos sistemas definen privilegios de uso:cada usuario solo puede realizar ciertasoperaciones sobre un archivo (accesocontrolado)• Tipo de operaciones

• Leer, Escribir, Ejecutar, Anexar, Eliminar,Listar

• Diferentes mecanismos de protección• Listas y grupos de acceso• Claves• Técnicas criptográficas

Page 35: Sistemas de Archivos

Listas de Acceso y Grupos

Page 36: Sistemas de Archivos

Un ejemplo de un Listado de Directorio en UNIX

Page 37: Sistemas de Archivos

Implementación del sistema deArchivos

• Estructura del Sistema de Archivos

• Métodos de Asignación

• Administración del espacio libre

• Implementación de directorios

Page 38: Sistemas de Archivos

Estructura del sistema de archivos

• SISTEMA DE ARCHIVOS a reside de manera permanente enalmacenamiento secundario

• Con el objetivo de aumentar la eficiencia E/S lastransferencias entre la memoria y el disco se efectúan enunidades de bloques (uno o más sectores)

• Discos dos características importantes que los conviertenen un medio cómodo para almacenar muchos archivos• Leer bloque/ Modificarlo y volverlo a escribir (rescribir)• Se puede acceder directamente a cualquier bloque de

información del disco

Page 39: Sistemas de Archivos

Organización del sistema dearchivos

• Un sistema de archivos presenta dos problemas de diseñomuy distintos:

• Definir que aspecto debe presentar el sistema dearchivos a los usuarios (atributos, operaciones,estructura de directorios, etc...)

• Definir los algoritmos y estructuras de datos quepermiten mapear el sistema de ficheros lógico sobre losequipos físicos

Page 40: Sistemas de Archivos

Métodos de asignación de espacio

• OBJETIVO: asignar espacio a ficheros de modo que el espacio

en disco se aproveche de forma eficaz y se pueda acceder

rápidamente a los archivos

• Asignación Contigua

• Asignación Enlazada

• Asignación Indexada

Page 41: Sistemas de Archivos

Asignación contigua• Cada fichero ocupa un

conjunto de bloques contiguos en el disco (optimiza movimiento de las cabezas del disco)

• Entrada de directorio para cada fichero• Dirección del

bloque inicial• Longitud del área

asignada al archivo (nº bloques)

Page 42: Sistemas de Archivos

Asignación contigua

• Permite manejar acceso tanto secuencial como directo• Dificultades

• Encontrar espacio para la creación de un fichero• Algoritmos mas utilizados

• Primer ajuste (First Fit)• Mejor ajuste (Best Fit)• Desde un punto de vista de

aprovechamiento del espacio no existendiferencias pero el primero suele ser masrápido

• Problema ambos algoritmos: FragmentaciónExterna

• Solución: Compactación (pero es una solucióncostosa)

Page 43: Sistemas de Archivos

Asignación contigua

• Otro problema importante:• Determinar cuanto espacio se necesita para un fichero• En unas ocasiones es sencillo (cuando el archivo es copia de

otro)• Otras es muy complicado:

• ¿Pecar por defecto?• ¿Pecar por exceso?

• Incluso cuando se conoce la cantidad total de espacio requerido,la preasignación puede ser ineficiente

• Crecimiento lento (fragmentación interna)

Page 44: Sistemas de Archivos

Asignación contigua con extensiones (extents)

• Para evitar estas desventajas algunos SO utilizan unesquema de asignación contigua modificado

• Inicialmente se asigna un trozo contiguo de espacio• Cuando se requiere mas espacio, se añade otro trozo de

espacio contiguo extensiones• Ubicación de los bloques de un archivo: bloque inicial, nº

bloques, enlace al primer bloque de la siguiente extensión• Sigue existiendo fragmentación interna (si las extensiones

son grandes) y externa (como consecuencia de la asignacióny liberación de extensiones de diferentes tamaños)

Page 45: Sistemas de Archivos

Asignación enlazada

• Cada fichero es una lista enlazada de bloques de disco

• Entrada de directorio contiene:

• Puntero al primer y último bloque del archivo

Page 46: Sistemas de Archivos

Asignación enlazada: pros yContras

• Se solucionan los problemas de la asignación contigua• No se produce fragmentación externa• No es necesario declarar de antemano el tamaño

del archivo• Desventajas:

• Solo eficiente para archivos de acceso secuencial• Espacio que ocupan los punteros (un archivo

requerirá algo mas de espacio del que requeriría en otro caso)

Page 47: Sistemas de Archivos

Asignación enlazada por clusters

• Solución usual:• Agrupar los bloques en grupos o clusters• Esto permite:

• Correspondencia entre bloques lógicos y físicos siga siendo sencilla

• Mejora el rendimiento del disco (menos búsqueda de disco)

• Reduce el espacio necesario para la asignación de bloques y la administración de la lista de espacio libre

• Costo de esta estrategia:• Aumento de la fragmentación interna: se desperdicia mas

espacio cuando un cluster está parcialmente lleno que cuando lo esta un bloque

Page 48: Sistemas de Archivos

Asignación enlazada

• Confiabilidad (¿Que sucedería si un puntero se perdiera o deteriorara ?)• Soluciones

• Listas doblemente enlazadas• Almacenar el nombre del archivo y el numero de

bloque relativo en cada bloque• Problema: gasta extra de espacio

Page 49: Sistemas de Archivos

Asignación enlazada con FAT

• Variación del método• de asignación• enlazada• FAT (Tabla de asignación• de archivos, File• Allocation Table)• Se aparta una sección

del disco al principio de cada partición para guardar en ella la tabla

• Empleado en MS-DOS y las tarjetas de memoria flash

Page 50: Sistemas de Archivos

Asignación Enlazada con FAT

Si no está en caché puede dar lugar a un número significativode movimientos de la cabeza del disco La cabeza debe moverse al principio de la partición para leer laFAT y encontrar el bloque en cuestión y luego moverse a laposición del bloque en sí. En el peor caso ocurrirán ambos movimientos para cada uno delos bloquesBeneficio: mejora el tiempo de acceso aleatorio ya que se puedeencontrar la posición de cualquier bloque leyendo la informaciónen la FAT.

Page 51: Sistemas de Archivos

Asignación indexada

La asignación enlazada resolvía los problemas de laasignación contigua

- fragmentación externa y declaración anticipadadel tamaño de los archivos

Problema: si no se usa FAT no se puede implementar unacceso directo EFICIENTE (punteros dispersos junto conlos bloques)

Page 52: Sistemas de Archivos

Asignación indexada (2)

SOLUCION: Reunir todos los punteros en el mismo lugar bloque de índices

- La i-ésima entrada delbloque índice apunta ali-ésimo bloque delarchivo

Page 53: Sistemas de Archivos

Tarea:

Investigacion Tema: Sistemas de Archivos Remotos