Dise - PowerPoint PPT Presentation

About This Presentation
Title:

Dise

Description:

Tema 4. Sistemas de Ficheros Dos m dulos: Interfaz del sistema de ficheros Implementaci n del sistema de ficheros Objetivos: Que el alumno entienda los conceptos de ... – PowerPoint PPT presentation

Number of Views:85
Avg rating:3.0/5.0
Slides: 51
Provided by: Felix170
Category:

less

Transcript and Presenter's Notes

Title: Dise


1
Tema 4. Sistemas de Ficheros
  • Dos módulos
  • Interfaz del sistema de ficheros
  • Implementación del sistema de ficheros
  • Objetivos
  • Que el alumno entienda los conceptos de fichero y
    directorio
  • Mostrar los métodos de acceso y los mecanismos de
    protección
  • Estudiar las semánticas de compartición
  • Que el alumno comprenda la estructura del
    sistema de ficheros
  • Presentar distintas técnicas de gestión de
    archivos y directorios a nivel de diseño.

2
Módulo 1.Interfaz del Sistema de Ficheros
Concepto de fichero? Métodos de
acceso Estructura de directorio Protección Semánti
cas de compartición
3
Concepto de Fichero
  • Un espacio lógico de direcciones contiguas usado
    para almacenar datos
  • Tipos de ficheros
  • Datos
  • numéricos
  • carácter
  • binarios
  • Programas
  • código fuente
  • ficheros objetos (imagen de carga)
  • Documentos

4
Estructura del Fichero
  • Ninguna - secuencia de palabras o bytes (UNIX)
  • Estructura sencilla de registros
  • Líneas
  • Longitud fija
  • Longitud variable
  • Estructuras complejas
  • Documentos con formato (HTML, postscript)
  • Fichero de carga reubicable (módulo de carga)
  • Se puede simular estructuras de registro y
    complejas con una estructura plana y secuencias
    de control
  • Quién decide la estructura?
  • Interna El sistema operativo
  • Externa Las aplicaciones

5
Estructura del Fichero Ejecutable
6
Atributos del Fichero
  • Nombre la única información en formato legible
    por una persona
  • Tipo necesario en sistemas que proporciona
    distintos formatos
  • Posición apuntador a la posición del fichero en
    un dispositivo
  • Tamaño tamaño actual del fichero
  • Protección control de accesos y de las
    operaciones sobre ficheros
  • Tiempos de creación, de acceso, de modificación,
    etc.
  • Identificación de usuario dueño, y grupo, del
    fichero
  • La información relacionada con el fichero se
    mantiene en el descriptor del fichero, al que se
    apunta desde los directorios.

7
Atributos del Fichero
8
Operaciones sobre Ficheros
  • fd create(nombre, protección) crea un fichero
    con ese nombre y esa protección y devuelve un
    descriptor
  • delete(nombre) borra el fichero con ese nombre
  • fd open(nombre, operación) abre un fichero con
    ese nombre para esa(s) operación(es) y devuelve
    un descriptor
  • close(fd) cierra un fichero abierto con
    descriptor fd
  • read(fd, almacén, cantidad) lee cantidad del
    fichero fd, abierto, al almacén.
  • write(fd, almacén, cantidad) escribe cantidad al
    fichero fd, abierto, desde el almacén.
  • truncate(fd) vacía el fichero fd.
  • lseek(fd, desplazamiento, relativo_a) mueve el
    apuntador a relativo_a desplazamiento.

9
Nombres de Fichero y Extensiones
  • Tiras de caracteres
  • Longitud fija o variable
  • Sensibles a tipografía
  • Extensión obligatoria o no
  • Los usuarios usan nombres lógicos de este estilo
  • Los directorios relacionan nombres lógicos y
    descriptores internos de ficheros
  • El sistema de ficheros trabaja con descriptores
    internos

10
Métodos de Acceso
  • Acceso secuencial
  • read next, write next, reset, no read after last
    write,
  • rewind ir al principio para buscar hacia delante
  • Dispositivos de cinta
  • Acceso Directo
  • read n, write n, goto n, rewrite n, read next,
    write next,
  • n número de bloque relativo al origen
  • Dispositivos discos magnéticos

11
Visiones del Fichero
12
Concepto de Directorio
  • Una colección de nodos que contienen información
    acerca de los ficheros
  • Tanto la estructura del directorio como los
    ficheros residen en discos
  • Los directorios se suelen implementar como
    archivos
  • Copias de respaldo en cintas, por seguridad
  • Información en un directorio nombre, tipo,
    dirección, longitud máxima y actual, tiempos de
    acceso y modificación, dueño, etc.
  • Hay estructuras de directorio muy distintas. La
    información depende de esa estructura.

13
Estructuras de Directorio
14
Operaciones de Directorio
  • mkdir (nombre, proteccion)
  • rmdir (nombre)
  • dirpopendir (nombre) devuelve un descriptor de
    directorio
  • closedir (dirp)
  • dirent readdir (dirp) devuelve una entrada del
    directorio
  • chdir (nombre)
  • link (origen, destino)

15
Organización del Directorio
  • Eficiencia localizar un fichero rápidamente
  • Nombrado conveniente y sencillo para los
    usuarios
  • Dos usuarios pueden tener el mismo nombre para
    ficheros distintos
  • Los mismos ficheros pueden tener nombres
    distintos
  • Nombres de longitud variable
  • Agrupación agrupación lógica de los ficheros
    según sus propiedades (por ejemplo programas
    Pascal, juegos, etc.)
  • Estructurado operaciones claramente definidas y
    ocultación
  • Sencillez la entrada de directorio debe ser lo
    más sencilla posible.

16
Directorio de un Nivel
  • Un único directorio para todos los usuarios
  • Problemas de nombrado y agrupación

17
Directorio de dos Niveles
  • Un directorio por cada usuario
  • Camino de acceso automático o manual
  • El mismo nombre de fichero para varios usuarios
  • Búsqueda eficiente, pero problemas de agrupación

18
Directorio con Estructura de Árbol
  • Búsqueda eficiente y agrupación
  • Nombres relativos y absolutos -gt directorio de
    trabajo

19
Directorio con Estructura de Árbol
  • Los nombres absolutos contienen todo el camino
  • Los nombres relativos parten del directorio de
    trabajo o actual
  • Cambio de directorio
  • cd /spell/mail/prog
  • cd prog
  • Borrar un fichero rm ltnombre-ficherogt
  • Crear un subdirectorio mkdir ltnombre_dirgt
  • Ejemplo
  • cd /spell/mail
  • mkdir count
  • ls /spell/mail/count
  • Borrar un subdirectorio rm -r mail

20
Directorio de Grafo Acíclico I
  • Tienen ficheros y subdirectorios compartidos
  • Este concepto no existe en Windows

21
Directorio de Grafo Acíclico II
  • link Un fichero con varios nombres -gt control de
    enlaces
  • un único fichero con contador enlaces en
    descriptor (e. Físicos)
  • ficheros nuevos con el nombre destino dentro (e.
    simbólicos)
  • Borrado de enlaces
  • a) decrementar contador si 0 borrar fichero
  • b) recorrer los enlaces y borrar todos
  • c) borrar únicamente el enlace y dejar los demás
  • Problema grave existencia de bucles en el árbol.
    Soluciones
  • Permitir sólo enlaces a ficheros, no
    subdirectorios
  • Algoritmo de búsqueda de bucle cuando se hace un
    enlace
  • Limitación de implementación en UNIX sólo
    enlaces físicos dentro del mismo sistema de
    ficheros.

22
Protección
  • El dueño (creador) de un fichero debería ser
    capaz de controlar
  • lo que se puede hacer
  • por quién
  • Tipos de acceso read, write, execute, append,
    delete, list
  • Políticas de protección restrictivas, conocidas,
    sencillas,
  • Dominio conjunto de usuarios a los que se agrupa
    con los mismos criterios de seguridad
  • Mecanismos de protección
  • matriz de protección (objeto, usuario) -gt
    derechos
  • listas de control de acceso matriz de protección
    por columnas
  • capacidades matriz de protección por filas

23
Matriz de Protección
  • Mecanismo general (dominio, objeto) -gt derechos
    positivos o negativos
  • Problema muy grande y dispersa -gt implementación
    difícil y costosa
  • Vale como modelo teórico (HRU), pero poco práctca
  • Base de los mecanismos usados más frecuentemente
    ACL, CAP

24
Listas de Control de Acceso
  • Lista por objeto con una entrada por usuario o
    dominio especificando derechos de acceso
  • Si es muy larga, su manejo es complejo.
  • Habitual denegaciones primero y encadenamiento
    doble
  • Fácil denegar acceso total eliminando la ACL del
    objeto

25
Listas de Control de Acceso y Grupos
  • Modo de acceso read, write, execute
  • UNIX tres clases de usuarios
  • a) dueño 7 111 rwx
  • b) grupo 6 110 rw-
  • c) público 1 001 --x
  • El administrador crea usuarios y grupos. Un grupo
    puede tener múltiples usuarios. Un usuario puede
    estar en varios grupos.
  • Cambiar protección chmod 761 fichero
  • Cambiar dueño chown usuario fichero
  • Cambiar grupo chgrp grupo fichero
  • Windows NT más selectivo permisos positivos y
    negativos específicos por objeto y usuario.

26
Capabilities
  • Cada usuario tiene una protección por objeto.
    Bueno para sistemas distribuidos
  • Fácil dar permisos
  • Difícil revocar todos los permisos. Soluciones
  • Envíos masivos a los usuarios
  • Cambiar el objeto origen por otro
  • Usar una capability intermedia y eliminarla

27
Módulo 2.Implementación del Sistema de Ficheros
Estructura del sistema de ficheros Estructura del
servidor de ficheros Métodos de
asignación Gestión del espacio libre Incremento
de prestaciones Fiabilidad y recuperación
28
Estructura del Sistema de Ficheros
  • Sistema de ficheros unidad lógica de
    almacenamiento donde se recolecta información
    relacionada
  • El sistema de ficheros reside en particiones, o
    volúmenes, de almacenamiento secundario

29
Superbloque
  • Contiene la información de estructura del sistema
    de ficheros
  • Uno por sistema de ficheros. Si falla, el SF
    queda inaccesible.

30
Estructura del Servidor de Ficheros
31
El Servidor de Ficheros Virtuales
  • Interfaz de usuario para un fichero genérico
    nodo-v.
  • Operaciones del fichero genérico fechas,
    posición,
  • Operaciones específicas cada servidor de
    ficheros particular

32
Flujo de datos en el Servidor de Ficheros
33
Tablas de Datos del Servidor de Archivos
34
Asignación Contigua
  • Fichero conjunto de bloques de disco contiguos
  • Simple 1er bloque longitud / tamaño bloque
  • Acceso aleatorio sencillo
  • Problema 1 ficheros no pueden crecer -gt buscar
    hueco nuevo -gt fragmentación externa
  • Problema 2 fragmentación -gt búsqueda huecos muy
    difícil
  • Mapa lógico-físico
  • num. bloque posición / tamaño bloque
  • desplazamiento posición MOD tamaño bloque
  • No se usa en sistemas operativos de propósito
    general.

35
Asignación Enlazada I
  • Fichero lista enlazada (doblemente) de bloques
    de disco dispersos
  • Acceso aleatorio costoso muchos accesos a disco
  • Ejemplo FAT de MS-DOS y OS/2

36
Asignación Enlazada II
  • No hay fragmentación externa, pero tiene la
    sobrecarga de los bloques de enlaces
  • Mapa lógico-físico
  • Bloque destino (D) Posición / Tamaño bloque
  • Desplazamiento en el bloque Posición MOD Tamaño
    bloque
  • Accesos 1er bloque en lista D
  • Problema recorridos hacia atrás listas con
    enlaces dobles
  • Optimización
  • Listas con grupos de bloques contiguos asociados
    a un fichero
  • Reducen el número de accesos hasta llegar al
    bloque, pero en el peor caso serían los mismos
    que sin optimizar

37
Asignación Indexada I
  • Fichero índice ordenado de bloques de disco
    dispersos
  • Necesita una tabla de índice
  • Acceso aleatorio rápido
  • No hay fragmentación externa, pero tiene la
    sobrecarga de los índices de bloques
  • Mapa lógico-físico puntero a bloque destino
  • Bloque destino Posición / Tamaño bloque
  • Desplazamiento en el bloque Posición MOD Tamaño
    bloque
  • Posición en índice Bloque destino Tamaño
    puntero
  • Ejemplo Nodo-i de UNIX

38
Asignación Indexada II
  • Problema hacen falta muchos bloques de índices
    -gt muchos accesos a disco. Ejemplo
  • Bloque de 4 Kbytes y puntero de 4 bytes -gt 1
    Kíndice por bloque -gt 4 Mbytes tamaño fichero
    máximo.
  • Fichero 4 Gbytes -gt 1 Kbloques de índices
  • Solución índices de varios niveles.
  • Dos niveles 1Míndice -gt 4 Gbytes
  • Tres niveles 1 Gíndice -gt 4 Tbytes
  • Problema más niveles -gt más accesos a disco,
    incluso para accesos pequeños.
  • Solución esquema combinado (ejemplo nodo -i de
    UNIX)

39
Nodo-i de UNIX
40
MFDT Windows NT
  • Problema nodo-i siempre un acceso a disco, como
    mínimo, para traer datos.
  • Para ficheros pequeños, se podría evitar metiendo
    datos en el descriptor del fichero. Ejemplo
    Registro MFT de Windows NT.
  • Problema complica el mapa lógico-físico

41
Implementación de Directorios
  • Entrada directorio tamaño fijo (MS-DOS) o
    variable (UNIX)
  • Listas lineales de nombres de ficheros con
    punteros a bloques de datos
  • fáciles de programar
  • costosas en tiempo de ejecución
  • Tablas con acceso aleatorio (hash) listas
    lineales con estructura de datos aleatorios
  • tiempo de búsqueda de directorios más pequeña
  • colisiones dos nombres de ficheros pueden ir a
    la misma entrada aleatoria
  • Siempre se implementan basándose en ficheros

42
Directorios en UNIX
43
Construcción del Árbol de Nombres
44
Gestión de Espacio Libre I
  • Mapas de bits Un bit por bloque (o nodo-i). 0
    libre, 1 ocupado
  • Espacio en disco disk_size / (8 block_size)
  • La asignación funciona bien si no está muy lleno
    el disco. En caso contrario Fragmentación del
    mapa -gt difícil buscar huecos grandes
  • Listas enlazadas de bloques libres simples o
    dobles.
  • No hay fragmentación en la lista
  • Es difícil, y lento, buscar espacio contiguo
  • Optimización listas de grupos de bloques libres

45
Gestión de Espacio Libre II
  • Los mapas de bits son más populares actualmente
  • Es necesario proteger
  • Los punteros a las listas de recursos
  • Los mapas de bits
  • Deben estar en disco
  • Las copias en disco y en memoria pueden diferir
    -gt escritura inmediata a disco
  • Los mapas de recursos están en una especial del
    sistema de ficheros y no cuentan como bloques de
    datos
  • Los bloques de los mapas están contiguos. La
    dirección de sus primeros bloques se guarda en el
    superbloque

46
Incremento de Prestaciones
  • La eficiencia depende de
  • los algoritmos de asignación de ficheros y
    directorios
  • el tipo de datos que hay en los descriptores de
    ficheros y directorios
  • la estructura del sistema de ficheros
  • Mecanismos de incremento de prestaciones
  • Cache de nombres y de bloques últimos datos
    accedidos se guardan en memoria
  • Lectura adelantada para optimizar accesos
    secuenciales
  • Usar discos RAM para evitar accesos a discos (por
    ejemplo /proc)

47
La Cache de Bloques
  • Almacén de bloques de disco que se mantiene en
    memoria
  • Estructura lista hash con información de bloques
    y punteros a los datos
  • Tamaño máximo limitado por la memoria que ocupa.
  • Todos los accesos a ficheros pasan por la cache
  • Lectura estan en cache?
  • Si -gt copiar a usuario
  • No-gt leer de disco y copiar a usuario
  • Política de reemplazo LRU, MRU, FIFO, hash. LRU
    popular
  • Antes de reemplazar bloques sucios hay que
    escribir a disco
  • delayed-write escribir cada n segundos
  • write-through escribir inmediatamente (mapas,
    metadatos, etc.)

48
Flujo de Datos con Cache de Bloques
49
Fiabilidad y Recuperación
  • La perdida de un sistema de ficheros es muy grave
    y, muchas veces, no se puede recuperar.
  • Solución
  • Copias de respaldo.
  • Volcar a discos, cintas, ...
  • Totales e incrementales
  • Políticas de copia de respaldo
  • Almacenamiento con redundancia
  • Discos espejo, RAID, replicación, .
  • Mucha seguridad dispositivos en instalaciones
    aisladas
  • Comprobaciones de consistencia (fsck) de mapas de
    recursos, asignación de descriptores y entradas
    de directorios.

50
Recuperación
  • Un sistema de ficheros puede estar incoherente.
  • Existen aplicaciones como fsck o scandisk que
    comprueban el SF, lo dejan coherente y, a veces,
    recuperan la información perdida.
Write a Comment
User Comments (0)
About PowerShow.com