1 / 42

Interfaz Sistema de Archivos

Interfaz Sistema de Archivos. Interfaz Sistema Archivos. Concepto de archivo Métodos de acceso Estructura de Directorio Montando Sistemas de Archivos Compartir Archivos Protección. Objetivos. Explicar la función de los sistemas de archivos

jalena
Download Presentation

Interfaz Sistema de 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. Interfaz Sistema de Archivos

  2. Interfaz Sistema Archivos • Concepto de archivo • Métodos de acceso • Estructura de Directorio • Montando Sistemas de Archivos • Compartir Archivos • Protección

  3. Objetivos • Explicar la función de los sistemas de archivos • Describir las interfaces de los sistemas de archivos • Discutir los detalles de diseño, incluyendo métodos de acceso, compartido de archivos, bloqueo de archivos, y estructura de directorios • Explorar la protección del sistema de archivos

  4. Concepto Archivo • Espacio de direcciones lógico contiguo • Tipos: • Datos • numérico • carácter • binario • Programa/código

  5. Estructura de un archivo • Ninguna - secuencia de palabras, bytes • Estructura de registro sencilla • Líneas • Longitud fija • Longitud variable • Estructuras complejas • Documento con formato • Archivo para cargar relocalizable • Se pueden simular los últimos dos con el primer método utilizando caracteres de control • ¿Quién decide?: • Sistema operativo • Programa

  6. Atributos de archivos • Nombre – la única info en forma legible por humanos • Identificador – etiqueta única (número) identifica el archivo en el sistema de archivos • Tipo – requerida para sistemas que soportan distintos tipos • Localización – apuntador a la posición del archivo en el dispositivo • Tamaño – tamaño actual del archivo • Protección – controla quien puede leer, escribir y ejecutar • Tiempo, fecha e identificación de usuario – datos para protección, seguridad y monitores de uso • La información de archivos se almacena en la estructura del directorio, que se mantiene en el disco

  7. Operaciones en archivos • Archivo es un tipo abstracto de datos • Crear • Escribir • Leer • Reposicionar dentro del archivo • Borrar • Truncar • Open(Fi) – buscar la entrada Fi en la estructura del directorio en el disco y mueve el contenido de dicha entrada a memoria • Close (Fi) – mueve el contenido de la entrada Fi en memoria a la estructura de directorio en disco

  8. Archivos abiertos • Se requieren muchos datos para manejar archivos abiertos: • Apuntador de archivo: apuntador a la última posición read/write. Uno por cada proceso que tiene abierto el archivo • Cuenta archivo-abierto: contador del número de veces que está abierto el archivo - para poder borrar datos de la tabla de archivos abiertos, cuando el último proceso lo cierra • Posición en el disco del archivo: cache de información de acceso a datos • Permisos de acceso: información de modo de acceso por proceso

  9. Bloqueo de archivo abierto • Provisto por algunos sistemas operativos y sistemas de archivos • Intermediario para el acceso a un archivo • Forzoso o recomendado: • Forzoso – se niega el acceso basado en los candados puestos y los solicitados • Recomendado – procesos pueden obtener el estado de los candados y decidir qué hacer

  10. Ejemplo Bloqueo de Archivos – Java API • import java.io.*; • import java.nio.channels.*; • public class LockingExample { • public static final boolean EXCLUSIVE = false; • public static final boolean SHARED = true; • public static void main(String arsg[]) throws IOException { • FileLock sharedLock = null; • FileLock exclusiveLock = null; • try { • RandomAccessFile raf = new RandomAccessFile("file.txt", "rw"); • // get the channel for the file • FileChannel ch = raf.getChannel(); • // this locks the first half of the file - exclusive • exclusiveLock = ch.lock(0, raf.length()/2, EXCLUSIVE); • /** Now modify the data . . . */ • // release the lock • exclusiveLock.release();

  11. Ejemplo Bloqueo de Archivos – Java API • // this locks the second half of the file - shared • sharedLock = ch.lock(raf.length()/2+1, raf.length(), SHARED); • /** Now read the data . . . */ • // release the lock • exclusiveLock.release(); • }catch (java.io.IOException ioe) { • System.err.println(ioe); • }finally { • if (exclusiveLock != null) • exclusiveLock.release(); • if (sharedLock != null) • sharedLock.release(); • } • } • }

  12. Tipos de archivos – Nombre, Extensión

  13. Métodos de Acceso • Acceso Secuencial • read next • write next • reset • no read after last write • (rewrite) • Acceso Directo • read n • write n • position to n • read next • write next • rewrite n • n = relative block number

  14. Archivo de Acceso Secuencial

  15. Simulación Acceso Secuencial en Archivo de Acceso Directo

  16. Ejemplo de Índice y Archivos Relativos

  17. F 4 F 2 F 1 F n F 3 Directorio Archivos Estructura de Directorios • Una colección de nodos con información acerca de archivos Tanto la estructura de directorios como los archivos viven en el disco. Respaldos de estas estructuras en cinta.

  18. Organizacion de Sistema de Archivos típico

  19. Operaciones realizadas en Directorios • Buscar un archivo • Crear un archivo • Borrar un archivo • Lista de directorios • Renombrar un archivo • Recorrer el sistema de archivos

  20. Organizar el Directorio para Obtener • Eficiencia – localizar un archivo rápidamente • Nombrado – conveniencia para usuarios • Dos usuarios pueden usar el mismo nombre para distintos archivos • El mismo archivo puede tener varios nombres • Agrupamientos – agrupar lógicamente archivos por propiedades (v.gr. todos los programas java, todos los juegos, ...)

  21. Directorio de único nivel • Un solo directorio para todos los usuarios Problemas de nombrado Problemas de grupos

  22. Directorio de dos niveles • Directorio separado para cada usuario • Nombre de ruta • Podemos usar mismo nombre de archivo para varios usuarios • Búsqueda eficiente • No tiene capacidad para grupos

  23. Directorios en Estructura de Árbol

  24. Directorios en Estructura de Árbol (cont) • Búsqueda eficiente • Capacidad de grupos • Directorio actual (de trabajo) • cd /spell/mail/prog • type list

  25. exp count prt copy prog mail Borrar “mail” ⇒ borrar el sub-árbol completo con raíz “mail” Directorios en Estructura de Árbol (cont) • Rutas absolutas o relativas • Nuevos archivos son creados en el directorio actual • Borrar un archivorm <file-name> • Nuevos sub-direcrtorios se crean en el directorio actualmkdir <dir-name>Ejemplo: si el directorio actual es /mail mkdir count

  26. Directorios en Gráficas aciclicas • Con subdirectorios y archivos compartidos

  27. Directorios en Gráficas aciclicas (cont) • Dos nombres distintos (aliasing) • If dict deletes list⇒ apuntador colganteSoluciones: • Backpointers, para poder borrar todas las referencias. Registros de tamaño variable son un problema • Backpointers utilizando un organización tipo daisy chain • Solución con contador de entrada • Tipos de nuevos directorios • Liga – otro nombre (apuntador) a un archivo existente • Seguir la liga – seguir apuntador para encontrar un archivo

  28. Directorio como Gráfica General

  29. Directorio como Gráfica General (cont) • ¿Cómo garantizamos que no hay ciclos? • Permitir ligas sólo a archivos y no a subdirectorios • Recolección de basura • Cada vez que se añade, ejecutamos un algoritmo de detección de ciclos, para determinar si está bien.

  30. Montando el Sistema de Archivos • Un sistema de archivos debe montarse antes de ser accedido • Un sistema de archivos no montado se monta en un punto de montaje

  31. (a) Existente (b) Partición no-montada

  32. Punto de Montaje

  33. Compartir Archivos • Es deseable compartir archivos en sistemas multi-usuario • Se puede compartir a través de un esquema de protección • En sistemas distribuídos, se pueden compartir archivos a través de la red • Network File System (NFS) es un método típico de distribución de archivos

  34. Compartir archivos – Usuarios múltiples • User IDs identifican usuarios, permiten asociar permisos y protección por usuario • Group IDs permitir usuarios que pertenezcan a grupos y permisos de acceso por grupo

  35. Archivos compartidos – Sistemas de Archivo Remotos • Utiliza la red para permitir acceso a archivos entre sistemas • Manualmente con programas tipo FTP • Automáticamente, utilizando sistemas de archivos distribuídos • Semi-automático a través delworld wide web • Modelo cliente-servidor permite a los clientes montar sistemas de archivos remotos desde el servidor • Servidor puede atender múltiples clientes • Identificación de clientes o usuarios-en-cliente es insegura y complicada • NFS es el protocolo estándar en UNIX para compartir archivos • CIFS es el protocolo estándar en Windows • Llamadas al sistema para archivos se traducen en llamadas remotas • Sistemas de información distribuida (distributed naming services) tales como LDAP, DNS, NIS, Active Directory implementan acceso unificado a información necesaria para cómputo remoto

  36. Compartirarchivos – Modos de fallos • Sistemas de archivos remotos añaden nuevos modos de fallos, debido a fallas de red, fallas de servidores • Recuperarse de fallas involucran información acerca del estado de cada solicitud remota • Protocolos sin estado tales como NFS incluyen toda la información en cada solicitud, permitiendo recuperación fácil, pero con menos seguridad

  37. Compartir archivos – Semántica de Consistencia • Semántica de Consistencia especifica como múltiples usuarios deben acceder a un sistema de archivos remoto simultáneamente • Similares a los algoritmos de sincronización de procesos del capítulo 7 • Usualmente menos complejos debido a la latencia de E/S de disco y red • Andrew File System (AFS) implementa un sistema de archivos remoto muy complicado • Unix file system (UFS) implementa: • Escribe a un archivo abierto y visible inmediatamente a otros usuarios del mismo archivo • Apuntador de archivo para compartir permite a varios usuarios leer y escribir concurrentemente • AFS tiene semántica de sesiones • La escritura es visible a sesiones que inician después que se cierra el archivo

  38. Protección • Dueño/creador del archivo debe poder controlar: • qué puede hacerse • por quién • Tipos de acceso • Read • Write • Execute • Append • Delete • List

  39. owner clase group public octal R W X dueño 7 1 1 1 chmod 761 game grupo 6 1 1 0 público 1 0 0 1 Listas de acceso y grupos • Modo de acceso: read, write, execute • Tres clases de usuarios • Solicitar administrador que cree un grupo (nombre único), y añadir otros usuarios al grupo. • Para un archivo o directorio particular, definir el tipo de acceso apropiado. Asociar un grupo con un archivo chgrp G game

  40. Windows XP Manejo Listas de Control de Acceso

  41. Listado directorio ejemplo en UNIX

  42. Fin

More Related