interfaz sistema de archivos. interfaz sistema archivos concepto de archivo métodos de acceso...

42
Interfaz Sistema de Archivos

Upload: elicia-poblete

Post on 23-Jan-2016

253 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Interfaz Sistema de Archivos. Interfaz Sistema Archivos Concepto de archivo Métodos de acceso Estructura de Directorio Montando Sistemas de Archivos Compartir

Interfaz Sistema de Archivos

Page 2: Interfaz Sistema de Archivos. Interfaz Sistema Archivos Concepto de archivo Métodos de acceso Estructura de Directorio Montando Sistemas de Archivos Compartir

Interfaz Sistema ArchivosConcepto de archivoMétodos de accesoEstructura de DirectorioMontando Sistemas de

ArchivosCompartir ArchivosProtección

Page 3: Interfaz Sistema de Archivos. Interfaz Sistema Archivos Concepto de archivo Métodos de acceso Estructura de Directorio Montando Sistemas de Archivos Compartir

ObjetivosExplicar la función de los sistemas de

archivosDescribir las interfaces de los sistemas

de archivosDiscutir 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

Page 4: Interfaz Sistema de Archivos. Interfaz Sistema Archivos Concepto de archivo Métodos de acceso Estructura de Directorio Montando Sistemas de Archivos Compartir

Concepto ArchivoEspacio de direcciones lógico

contiguoTipos:

Datos numérico carácter binario

Programa/código

Page 5: Interfaz Sistema de Archivos. Interfaz Sistema Archivos Concepto de archivo Métodos de acceso Estructura de Directorio Montando Sistemas de Archivos Compartir

Estructura de un archivoNinguna - secuencia de palabras, bytesEstructura 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

Page 6: Interfaz Sistema de Archivos. Interfaz Sistema Archivos Concepto de archivo Métodos de acceso Estructura de Directorio Montando Sistemas de Archivos Compartir

Atributos de archivosNombre – la única info en forma legible por humanosIdentificador – etiqueta única (número) identifica el

archivo en el sistema de archivosTipo – requerida para sistemas que soportan distintos

tiposLocalización – apuntador a la posición del archivo en

el dispositivoTamaño – tamaño actual del archivoProtección – controla quien puede leer, escribir y

ejecutarTiempo, fecha e identificación de usuario – datos

para protección, seguridad y monitores de usoLa información de archivos se almacena en la

estructura del directorio, que se mantiene en el disco

Page 7: Interfaz Sistema de Archivos. Interfaz Sistema Archivos Concepto de archivo Métodos de acceso Estructura de Directorio Montando Sistemas de Archivos Compartir

Operaciones en archivosArchivo es un tipo abstracto de datosCrearEscribirLeerReposicionar dentro del archivoBorrarTruncarOpen(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

Page 8: Interfaz Sistema de Archivos. Interfaz Sistema Archivos Concepto de archivo Métodos de acceso Estructura de Directorio Montando Sistemas de Archivos Compartir

Archivos abiertosSe 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

Page 9: Interfaz Sistema de Archivos. Interfaz Sistema Archivos Concepto de archivo Métodos de acceso Estructura de Directorio Montando Sistemas de Archivos Compartir

Bloqueo de archivo abiertoProvisto por algunos sistemas operativos

y sistemas de archivosIntermediario para el acceso a un

archivoForzoso 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

Page 10: Interfaz Sistema de Archivos. Interfaz Sistema Archivos Concepto de archivo Métodos de acceso Estructura de Directorio Montando Sistemas de Archivos Compartir

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();

Page 11: Interfaz Sistema de Archivos. Interfaz Sistema Archivos Concepto de archivo Métodos de acceso Estructura de Directorio Montando Sistemas de Archivos Compartir

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(); } } }

Page 12: Interfaz Sistema de Archivos. Interfaz Sistema Archivos Concepto de archivo Métodos de acceso Estructura de Directorio Montando Sistemas de Archivos Compartir

Tipos de archivos – Nombre, Extensión

Page 13: Interfaz Sistema de Archivos. Interfaz Sistema Archivos Concepto de archivo Métodos de acceso Estructura de Directorio Montando Sistemas de Archivos Compartir

Métodos de AccesoAcceso 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

Page 14: Interfaz Sistema de Archivos. Interfaz Sistema Archivos Concepto de archivo Métodos de acceso Estructura de Directorio Montando Sistemas de Archivos Compartir

Archivo de Acceso Secuencial

Page 15: Interfaz Sistema de Archivos. Interfaz Sistema Archivos Concepto de archivo Métodos de acceso Estructura de Directorio Montando Sistemas de Archivos Compartir

Simulación Acceso Secuencial en Archivo de Acceso Directo

Page 16: Interfaz Sistema de Archivos. Interfaz Sistema Archivos Concepto de archivo Métodos de acceso Estructura de Directorio Montando Sistemas de Archivos Compartir

Ejemplo de Índice y Archivos Relativos

Page 17: Interfaz Sistema de Archivos. Interfaz Sistema Archivos Concepto de archivo Métodos de acceso Estructura de Directorio Montando Sistemas de Archivos Compartir

Estructura de DirectoriosUna colección de nodos con información acerca de

archivos

F 1 F 2F 3

F 4

F n

Directorio

Archivos

Tanto la estructura de directorios como los archivos viven en el disco.Respaldos de estas estructuras en cinta.

Page 18: Interfaz Sistema de Archivos. Interfaz Sistema Archivos Concepto de archivo Métodos de acceso Estructura de Directorio Montando Sistemas de Archivos Compartir

Organizacion de Sistema de Archivos típico

Page 19: Interfaz Sistema de Archivos. Interfaz Sistema Archivos Concepto de archivo Métodos de acceso Estructura de Directorio Montando Sistemas de Archivos Compartir

Operaciones realizadas en Directorios

Buscar un archivoCrear un archivoBorrar un archivoLista de directoriosRenombrar un archivoRecorrer el sistema de archivos

Page 20: Interfaz Sistema de Archivos. Interfaz Sistema Archivos Concepto de archivo Métodos de acceso Estructura de Directorio Montando Sistemas de Archivos Compartir

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

nombresAgrupamientos – agrupar lógicamente

archivos por propiedades (v.gr. todos los programas java, todos los juegos, ...)

Page 21: Interfaz Sistema de Archivos. Interfaz Sistema Archivos Concepto de archivo Métodos de acceso Estructura de Directorio Montando Sistemas de Archivos Compartir

Directorio de único nivelUn solo directorio para todos los

usuarios

Problemas de nombrado

Problemas de grupos

Page 22: Interfaz Sistema de Archivos. Interfaz Sistema Archivos Concepto de archivo Métodos de acceso Estructura de Directorio Montando Sistemas de Archivos Compartir

Directorio de dos nivelesDirectorio separado para cada usuario

Nombre de ruta

Podemos usar mismo nombre de archivo para varios usuarios

Búsqueda eficiente

No tiene capacidad para grupos

Page 23: Interfaz Sistema de Archivos. Interfaz Sistema Archivos Concepto de archivo Métodos de acceso Estructura de Directorio Montando Sistemas de Archivos Compartir

Directorios en Estructura de Árbol

Page 24: Interfaz Sistema de Archivos. Interfaz Sistema Archivos Concepto de archivo Métodos de acceso Estructura de Directorio Montando Sistemas de Archivos Compartir

Directorios en Estructura de Árbol (cont)

Búsqueda eficiente

Capacidad de grupos

Directorio actual (de trabajo) cd /spell/mail/prog type list

Page 25: Interfaz Sistema de Archivos. Interfaz Sistema Archivos Concepto de archivo Métodos de acceso Estructura de Directorio Montando Sistemas de Archivos Compartir

Directorios en Estructura de Árbol (cont)

Rutas absolutas o relativasNuevos archivos son creados en el directorio actualBorrar un archivo

rm <file-name>Nuevos sub-direcrtorios se crean en el directorio

actual mkdir <dir-name> Ejemplo: si el directorio actual es /mail mkdir count

mail

prog copy prt exp count

Borrar “mail” ⇒ borrar el sub-árbol completo con raíz “mail”

Page 26: Interfaz Sistema de Archivos. Interfaz Sistema Archivos Concepto de archivo Métodos de acceso Estructura de Directorio Montando Sistemas de Archivos Compartir

Directorios en Gráficas aciclicas

Con subdirectorios y archivos compartidos

Page 27: Interfaz Sistema de Archivos. Interfaz Sistema Archivos Concepto de archivo Métodos de acceso Estructura de Directorio Montando Sistemas de Archivos Compartir

Directorios en Gráficas aciclicas (cont)

Dos nombres distintos (aliasing)If dict deletes list ⇒ apuntador colgante

Soluciones: 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 entradaTipos de nuevos directorios

Liga – otro nombre (apuntador) a un archivo existente

Seguir la liga – seguir apuntador para encontrar un archivo

Page 28: Interfaz Sistema de Archivos. Interfaz Sistema Archivos Concepto de archivo Métodos de acceso Estructura de Directorio Montando Sistemas de Archivos Compartir

Directorio como Gráfica General

Page 29: Interfaz Sistema de Archivos. Interfaz Sistema Archivos Concepto de archivo Métodos de acceso Estructura de Directorio Montando Sistemas de Archivos Compartir

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.

Page 30: Interfaz Sistema de Archivos. Interfaz Sistema Archivos Concepto de archivo Métodos de acceso Estructura de Directorio Montando Sistemas de Archivos Compartir

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

Page 31: Interfaz Sistema de Archivos. Interfaz Sistema Archivos Concepto de archivo Métodos de acceso Estructura de Directorio Montando Sistemas de Archivos Compartir

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

Page 32: Interfaz Sistema de Archivos. Interfaz Sistema Archivos Concepto de archivo Métodos de acceso Estructura de Directorio Montando Sistemas de Archivos Compartir

Punto de Montaje

Page 33: Interfaz Sistema de Archivos. Interfaz Sistema Archivos Concepto de archivo Métodos de acceso Estructura de Directorio Montando Sistemas de Archivos Compartir

Compartir ArchivosEs 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

Page 34: Interfaz Sistema de Archivos. Interfaz Sistema Archivos Concepto de archivo Métodos de acceso Estructura de Directorio Montando Sistemas de Archivos Compartir

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

Page 35: Interfaz Sistema de Archivos. Interfaz Sistema Archivos Concepto de archivo Métodos de acceso Estructura de Directorio Montando Sistemas de Archivos Compartir

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 del world 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

Page 36: Interfaz Sistema de Archivos. Interfaz Sistema Archivos Concepto de archivo Métodos de acceso Estructura de Directorio Montando Sistemas de Archivos Compartir

Compartir archivos – 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

Page 37: Interfaz Sistema de Archivos. Interfaz Sistema Archivos Concepto de archivo Métodos de acceso Estructura de Directorio Montando Sistemas de Archivos Compartir

Compartir archivos – Semántica de ConsistenciaSemá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

Page 38: Interfaz Sistema de Archivos. Interfaz Sistema Archivos Concepto de archivo Métodos de acceso Estructura de Directorio Montando Sistemas de Archivos Compartir

ProtecciónDueño/creador del archivo debe poder

controlar: qué puede hacerse por quién

Tipos de acceso Read Write Execute Append Delete List

Page 39: Interfaz Sistema de Archivos. Interfaz Sistema Archivos Concepto de archivo Métodos de acceso Estructura de Directorio Montando Sistemas de Archivos Compartir

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.owner group public

chmod 761 game

Asociar un grupo con un archivo chgrp G game

clase octal R W X

dueño 7 1 1 1

grupo 6 1 1 0

público 1 0 0 1

Page 40: Interfaz Sistema de Archivos. Interfaz Sistema Archivos Concepto de archivo Métodos de acceso Estructura de Directorio Montando Sistemas de Archivos Compartir

Windows XP Manejo Listas de Control de Acceso

Page 41: Interfaz Sistema de Archivos. Interfaz Sistema Archivos Concepto de archivo Métodos de acceso Estructura de Directorio Montando Sistemas de Archivos Compartir

Listado directorio ejemplo en UNIX

Page 42: Interfaz Sistema de Archivos. Interfaz Sistema Archivos Concepto de archivo Métodos de acceso Estructura de Directorio Montando Sistemas de Archivos Compartir

Fin