Descargar la presentación
La descarga está en progreso. Por favor, espere
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) 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 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
Estructura de Directorios
Una colección de nodos con información acerca de archivos Directorio Archivos F 1 F 2 F 3 F 4 F n 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
Directorios en Estructura de Árbol (cont)
Rutas absolutas o relativas Nuevos archivos son creados en el directorio actual Borrar 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”
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 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 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 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
36
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
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
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. clase octal R W X dueño 7 1 1 1 grupo 6 1 1 0 público 1 0 0 1 owner group public chmod 761 game 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
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.