interfaz de sistema de archivos - de la...
TRANSCRIPT
Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
Interfaz de Sistema de Archivos
10.2 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
Interfaz de Sistema de Archivos
Concepto de Archivo
Métodos de Acceso
Estructura de Directorio
Montando un Sistema de Archivos
Compartir Archivos
Protección
10.3 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
Objetivos
Explicar la función de un sistema de archivos
Describir interfaces hacia un sistema de archivos
Discutir patrones de diseño del sistema de archivos, como métodos de acceso y estructura de directorios
Explorar la protección del sistema de archivos
10.4 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
Concepto de Archivo
Definición: datos/instrucciones relacionadas que son guardadas en un dispositivo de almacenamiento secundario.
Espacio de direcciones lógicas contiguas
Sistema operativo debe mapear un archivo a un dispositivo físico.
Tipos:
Datos
Caracteres (ASCII)
Binarios
Programas
Binarios
10.5 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
Estructura de un Archivo
Ninguna – secuencia de palabras, bytes Estructura simple
Líneas (archivo de texto)
Largo fijo
Largo variable Estructura compleja
Documentos con formato (archivo pdf) Se puede simular la estructura simple o la compleja utilizando la primera, mediante la
inserción de caracteres de control ¿Quién decide la estructura?, el que crea el archivo:
Sistema operativo Programa
10.6 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
Atributos de un Archivo
Nombre – información en formato “humano”
Identificador – etiqueta (número) que lo identifica en el sistema de archivo
Tipo – necesario para sistemas que soportan diferentes tipos de archivos
Ubicación – puntero a la ubicación del archivo en el dispositivo
Tamaño – tamaño actual del archivo
Protección – controla quien puede leer, escribir y ejecutar el archivo
Hora, fecha e identificación del usuario – datos para protección, seguridad y monitoreo de su uso
10.7 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
Atributos de un Archivo
10.8 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
Operaciones sobre Archivos
Archivo es un tipo de datos abstractos
Crear
Escribir
Leer
Reposicionar dentro del archivo
Eliminar
Truncar
Open(Fi) – busca en la estructura de directorio la entrada F, y mueve el contenido de la entrada a la memoria
Close (Fi) – mueve el contenido de la entrada F en memoria al disco
¿Qué pasa si el archivo pesa 100 MB y tengo 64 MB de memoria principal?
10.9 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
Abrir archivos
Varias piezas de datos son necesarias para manejar un archivo abierto:
Puntero de archivo: apunta a la última ubicación donde se leyo escribio en el archivo, por proceso que tiene el archivo abierto
Contador de apertura: cuenta el número de veces que el archivo es abierto – permite remover los datos de la tabla de archivos abiertos una vez el último proceso cierra el archivo
Ubicación en el disco del archivo: información de acceso
Permisos de acceso: información respecto al modo de acceso por proceso al archivo
10.10 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
Abrir archivos
10.11 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
Bloqueo de apertura de archivos
Provista por algunos sistemas operativos y sistemas de archivos
Se encarga de mediar el acceso al archivo
Obligatorio o Aviso:
Obligatorio – acceso es denegado en caso de estar bloqueado
Aviso – proceso sabe que el archivo esta bloqueado y puede determinar que hacer (ej: abrirlo como solo lectura)
10.12 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
Tipos de archivo
10.13 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
Métodos de acceso
Acceso secuencialread nextwrite next reset
Acceso directoread nwrite nposition to n
10.14 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
Acceso secuencial
10.15 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
Simulando acceso secuencial en directo
10.16 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
Estructura de directorios
Una colección de nodos conteniendo información acerca de todos los archivos
F 1 F 2F 3
F 4
F n
Directorio
Archivos
Tanto la estructura de directorio como los archivos residen en el discoUn respaldo debe incluir las dos (estructura y archivos)
10.17 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
Estructura del disco
Disco puede ser dividido en particiones
Discos o particiones pueden ser protegidos ante fallas usando RAID
Disco o partición puede ser usado como raw – sin un sistema de archivo, o formateado con un sistema de archivos (ext4, reiserfs, jfs, xfs, fat, ntfs)
Particiones también son conocidas como minidisks o slices (FreeBSD)
La entidad conteniendo un sistema de archivos es conocida como un volumen
Cada volumen lleva un historial de la información del sistema de archivos en una tabla de contenido del volumen
Así como hay sistemas de archivos de propósito general hay aquellos que son sistemas de archivo de propósito especial o específico, frecuentemente relacionados a un sistema operativo
10.18 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
Organización de sistemas de archivos
10.19 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
Operaciones sobre directorios
Buscar un archivo
Crear un archivo
Borrar un archivo
Listar el contenido de un directorio
Renombrar un archivo
Navegar por el sistema de archivos
10.20 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
Organizar lógicamente el directorio para
Eficiencia – ubicar un archivo rápidamente
Nombres – conveniente a los usuarios
Dos usuarios pueden tener el mismo nombre para diferentes archivos
El mismo archivo puede tener muchos nombres
Agrupar – agrupar los archivos por propiedades, (ej: programas en C, juegos, ...)
10.21 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
Nivel simple de directorio
Un solo directorio para todos los usuarios
Problema de nombres
Problema de agrupamiento
10.22 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
Dos niveles de directorio
Directorios separados para cada usuario
Nombres de rutas
Se puede tener el mismo nombre de archivo para diferentes usuarios
Búsqueda eficiente
No hay capacidades de agrupar
10.23 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
Estructura en árbol
10.24 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
Estructura en árbol
Búsqueda eficiente
Capacidades de agrupar
Directorio actual
cd /tmp
pwd
ls
10.25 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
Estructura en árbol
Rutas absolutas o relativas: si no se indica una de ellas se trabaja en el directorio actual
Crear un nuevo archivo
touch <file-name> Borrar un archivo
rm <file-name> Crear un nuevo directorio
mkdir <dir-name>
prog copy prt exp count
Borrar “mail” ⇒ borrará todo lo contenido por “mail” (borrado recursivo)
10.26 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
Compartición
Directorios y archivos compartidos
10.27 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
Compartición
Nombres diferentes (alias)
Nuevo tipo de entrada en el directorio
Enlace – otro nombre (puntero) a un archivo existente
Resolver el enlace – seguir el puntero para localizar el archivo
Si w borra list ⇒ “dangling pointer” o “puntero colgado”
Soluciones:
Borrar todos los punteros cuando se borra uno
Conteo de cada una de las referencias, borrando el archivo solo cuando la referencia es 1 (enlaces duros).
10.28 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
Compartición
Enlaces simbólicos
Apunta a una ruta en el sistema de archivos
Tamaño del enlace, tamaño de la ruta hacia el archivo
Puede ser utilizado entre diferentes sistemas de archivos
Enlaces duros
Apunta al dispositivo de almacenamiento
Tamaño del enlace, tamaño del archivo
Solo puede ser utilizado en un mismo sistema de archivo
10.29 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
Compartición
10.30 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
Ciclos
10.31 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
Ciclos
¿Cómo garantizar que no habrán ciclos?
Permitir solo enlaces a archivos, no a directorios
Cada vez que un nuevo enlace será creado usar un algoritmo para detección de ciclos y corroborar que esta bien
10.32 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
Montaje
Un sistema de archivos debe ser montado antes de ser accesado
Un sistema de archivos no montado es montado en un punto de montaje
10.33 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
(a) Existente (b) No montado
10.34 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
Una vez montado en directorio /users
10.35 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
Compartiendo archivos
Compartir archivos en un sistema multi usuario es una tarea deseable
Compartición puede ser llevada a cabo mediante un esquema de protección
En sistemas distribuídos, archivos pueden ser compartidos a través de la red
Network File System (NFS) es un método común para distribuir archivos mediante la red
10.36 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
Compartiendo archivos
User ID identifica al usuario, permitiendo que permisos y protecciones puedan ser por usuario
Group ID permite a los usuarios estar en grupos, permitiendo permisos de acceso grupales
10.37 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
Sistemas de archivo remotos
Usar la red para permitir que sistemas de archivos puedan ser accedidos
Manualmente via programas como FTP
Automaticamente, usando sistemas de archivos distribuidos Semi automático vía la world wide web (WWW)
Modelo cliente-servidor permite a los clientes montar sistema de archivos remotos desde los servidores
Servidor puede servir a múltiples clientes
NFS es el protocolo estándar en sistemas like Unix
CIFS (ex SMB) es el protocolo estándar en Windows
Llamadas al sistema de archivo son traducidas a llamadas remotas
10.38 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
Protección
Propietario del archivo debe ser capaz de controlar:
Que puede ser hecho
Por quien
Tipos de acceso básicos
Lectura / Read Escritura / Write Ejecución / Execute
10.39 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
Protección