Sistema de Archivos - Departamento de Ciencias e Ingeniería de la

Anuncio
Sistemas de Archivos
Interfaz
Módulo 10
Departamento de Ciencias e Ingeniería de la Computación
Universidad Nacional del Sur
Module 10: Sistema de Archivos: Interfaz
Concepto de archivos
Métodos de Acceso
Estructura de Directorio
Montaje de Sistemas de Archivos
Archivos Compartidos
JRA © 2010
Sistemas Operativos – Sistemas de Archivos: Interfaces
1
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 estrucruras de
directorios.
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
2
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
3
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
4
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
Archivo
arc, zip, tar
Multimedia
mpeg, mov, rm, avi, mp3
ASCII o archivos binarios
arch relacionados agrupados
en un solo archivo
arch binarios conteniendo
audio o info A/V
JRA © 2010
Sistemas Operativos – Sistemas de Archivos: Interfaces
5
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
fin
rebobinar
read o write
JRA © 2010
Sistemas Operativos – Sistemas de Archivos: Interfaces
6
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
7
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.
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
8
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
9
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
10
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 <nombre-arch>
La creación de un nuevo subdirectorio se hace en el directorio
corriente.
mkdir <nombre-dir>
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
11
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
12
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
13
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 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
14
Archivos Compartidos – Múltiples Usuarios
 Los User IDs identifyican usuarios, admiten
permisos y protección por usuarios
 Los Group IDs admite agrupar usuarios en
grupos, permitiendo asignar al mismo derechos
de acceso
Sistemas Operativos – Sistemas de Archivos: Interfaces
JRA © 2010
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
15
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
16
Un ejemplo de un Listado de Directorio en UNIX
JRA © 2010
Sistemas Operativos – Sistemas de Archivos: Interfaces
Fin
Módulo 10
Departamento de Ciencias e Ingeniería de la Computación
Universidad Nacional del Sur
17
Descargar