Transcript
Sistemas de Archivos Interfaz
Módulo 10 Departamento de Informática Facultad de Ingeniería Universidad Nacional de la Patagonia “San Juan Bosco”
Module 10: Sistema de Archivos: Interfaz Concepto de archivos Métodos de Acceso Estructura de Directorio Montaje de Sistemas de Archivos Archivos Compartidos Protección
JRA © 2010
Sistemas Operativos – Sistemas de Archivos: Interfaces
Objetivos Explicar la función del sistema de archivos Describir las interfaces al sistema de archivos Discutir los compromisos en el diseño de sistemas de
archivos, incluyendo métodos de acceso, archivos compartidos, locking de archivos y estructuras de directorios Explorar la protección en los sistemas de archivos
Sistemas Operativos – Sistemas de Archivos: Interfaces
JRA © 2010
Concepto de Archivo Espacio de direcciones lógicas contiguas Tipos: Datos numérico caracter binario Programa
JRA © 2010
Sistemas Operativos – Sistemas de Archivos: Interfaces
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 apropriados. Lo decide: El sistema operativo El programa JRA © 2010
Sistemas Operativos – Sistemas de Archivos: Interfaces
Atributos de Archivo Nombre – mantiene información en forma legible. Tipo – necesario para sistemas que soportan diferentes tipos. Locación – puntero a la locación del archivo en el dispositivo. Tamaño – tamaño corriente del archivo. Protección – controla quien puede leer, escribir, ejecutar. Tiempo, fecha, e identificación de usuario – datos para protección, seguridad, visualización de uso. La información sobre los archivos es mantenida en la estructura de directorio, la que es mantenida en el disco. JRA © 2010
Sistemas Operativos – Sistemas de Archivos: Interfaces
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.
JRA © 2010
Sistemas Operativos – Sistemas de Archivos: Interfaces
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. JRA © 2010
Sistemas Operativos – Sistemas de Archivos: Interfaces
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
JRA © 2010
Sistemas Operativos – Sistemas de Archivos: Interfaces
Tipos de Archivo – nombre, extension Tipo de Archivo
Extensión usual
Función
Ejecutable
exe, com, bin o ninguno
Objeto
obj, o
Código fuente
c, p, pas, l77,asm, a
Lote
bat, sh
programa leng. máquina listo para correr compilado, leng máquina, no enlazado código fuente en varios lenguajes comandos al intérprete de comandos
Texto
txt, doc
doc con datos textuales
Procesa. palabra
wp, tex, rtf , doc, ....
formatos de proc de palab
Librería
lib, a
librerías de rutinas
Imp o vista
ps, dvi, gif
ASCII o archivos binarios
Archivo
arc, zip, tar
Multimedia
mpeg, mov, rm, avi, mp3
JRA © 2010
arch relacionados agrupados en un solo archivo arch binarios conteniendo audio o info A/V
Sistemas Operativos – Sistemas de Archivos: Interfaces
Métodos de Accesos 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 = número relativo de bloque Sistemas Operativos – Sistemas de Archivos: Interfaces
JRA © 2010
Archivo de Acceso Secuencial
comienzo
posición corriente
rebobinar read o write
JRA © 2010
Sistemas Operativos – Sistemas de Archivos: Interfaces
fin
Simulación del Acceso Secuencial en un Archivo de Acceso Directo
acceso secuencial
implementación por acceso directo
Sistemas Operativos – Sistemas de Archivos: Interfaces
JRA © 2010
Ejemplo de Archivo Indexado y Relativo
último nombre
número de registro lógico
archivo índice
JRA © 2010
archivo relativo
Sistemas Operativos – Sistemas de Archivos: Interfaces
Estructura de Directorio Una colección de nodos conteniendo información sobre todos los archivos. Directorio
Archivos
F1
F2
F3
F4 Fn
La estructura de directorio y los archivos residen en el disco. El respaldo de estas dos estructuras se mantienen en cintas. JRA © 2010
Sistemas Operativos – Sistemas de Archivos: Interfaces
Una Organización Típica de un sistema de Archivos
JRA © 2010
Sistemas Operativos – Sistemas de Archivos: Interfaces
Información en un Directorio de Dispositivo Nombre Tipo Dirección Longitud corriente Máxima longitud Fecha del último acceso Fecha de la última actualización (para vuelco) ID del dueño Información de protección
JRA © 2010
Sistemas Operativos – Sistemas de Archivos: Interfaces
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
JRA © 2010
Sistemas Operativos – Sistemas de Archivos: Interfaces
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, …)
JRA © 2010
Sistemas Operativos – Sistemas de Archivos: Interfaces
Estructura Arbórea de Directorios /X/Y/cat X
Y
cat
JRA © 2010
Sistemas Operativos – Sistemas de Archivos: Interfaces
Estructura Arbórea de Directorios (Cont.) Búsqueda eficiente Capacidad de agrupamiento Directorio corriente (directorio de trabajo) cd /spell/mail/prog type list
JRA © 2010
Sistemas Operativos – Sistemas de Archivos: Interfaces
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 La creación de un nuevo subdirectorio se hace en el directorio corriente. mkdir 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”. mail prog copy prt exp count
JRA © 2010
Sistemas Operativos – Sistemas de Archivos: Interfaces
Grafo Acíclico de Directorios Puede compartir subdirectorios y archivos.
Sistemas Operativos – Sistemas de Archivos: Interfaces
JRA © 2010
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 JRA © 2010
Sistemas Operativos – Sistemas de Archivos: Interfaces
Grafo Acíclico de Directorios (Cont.)
JRA © 2010
Sistemas Operativos – Sistemas de Archivos: Interfaces
Grafo General de Directorio
JRA © 2010
Sistemas Operativos – Sistemas de Archivos: Interfaces
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.
JRA © 2010
Sistemas Operativos – Sistemas de Archivos: Interfaces
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).
JRA © 2010
Sistemas Operativos – Sistemas de Archivos: Interfaces
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 común de compartir archivos distribuidos.
JRA © 2010
Sistemas Operativos – Sistemas de Archivos: Interfaces
Archivos Compartidos – Múltiples Usuarios n Los User IDs identifyican usuarios, admiten
permisos y protección por usuarios n Los Group IDs admite agrupar usuarios en
grupos, permitiendo asignar al mismo derechos de acceso
JRA © 2010
Sistemas Operativos – Sistemas de Archivos: Interfaces
Archivos Compartidos – Modos de Fallas Los sistemas de archivos remotos agregan nuevos modos de fallas, debido a las fallas de las redes, fallas en los servidores, etc La recuperación de fallas puede involucrar información de estado acerca del status de cada requerimiento remoto. Protocolos sin estados como NFS incluyen toada la información en cada petición, permitiendo fácil recuperación pero menos seguridad
Sistemas Operativos – Sistemas de Archivos: Interfaces
JRA © 2010
Archivos Compartidos – Semántica de Consistencia La semántica de consistencia especifica como múltiples usuarios pueden 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
JRA © 2010
Sistemas Operativos – Sistemas de Archivos: Interfaces
Protección El creador/dueño del archivo debería poder controlar: que cosas pueden hacerse por quién Tipos de acceso Read Write Execute Append Delete List JRA © 2010
Sistemas Operativos – Sistemas de Archivos: Interfaces
Listas de Acceso y Grupos Modos de acceso: read, write, execute Tres clases de usuarios RWX a) acceso dueño 7 ⇒ 111 b) acceso grupos 6 ⇒ 110 c) acceso público 1 ⇒ 001 Pedir al administrador crear un grupo (único nombre), sea G, y adicionar algún usuario al mismo. Para un archivo particular (sea game) o subdirectorio, definir un acceso apropriado. dueño
grupo
público
chmod 761 game
Agregar un grupo a un archivo chgrp G JRA © 2010
game
Sistemas Operativos – Sistemas de Archivos: Interfaces
Manejo de Listas de Acceso en Windows XP
JRA © 2010
Sistemas Operativos – Sistemas de Archivos: Interfaces
Un ejemplo de un Listado de Directorio en UNIX
JRA © 2010
Sistemas Operativos – Sistemas de Archivos: Interfaces
Fin Módulo 10 Departamento de Informática Facultad de Ingeniería Universidad Nacional de la Patagonia “San Juan Bosco”