Sistema de Archivos
Concepto de archivo
Métodos de accesos
Directorio
Protección
Consistencia Semántica
Emely Arráiz
Ene-Mar 08
Sistema de archivos (FS)
Uno de los servicios mas visibles por parte del usuario
Provee una visión lógica de la información almacenada.
Abstracción del dispositivo físico de almacenaje y define una unidad lógica de almacenaje
Sistema de Archivos
El usuario quiere acceso rápido. Garantía de No corrupción de la información en
los archivos. Seguridad en los accesos a los archivos. Formas de acceder o recuperar la información
desde los archivos.
Componentes de un F.S.
Pile SequentialIndexed
Sequential Indexed Hashed
Logical I/O
Supervisor basico I/O
Basic File System
Disk Device Driver Tape Device Driver
Programa Aplicación
Componentes
Device Driver : maneja las interrupciones. Basic File System: se encarga del intercambio de
los bloques físicos. Supervisor: traslada direcciones lógicas a físicas
para la transferencia. Maneja el espacio libre. Logical: permite a los usuarios y aplicaciones el
acceso a la unidad lógica de accesos (registros).
Funciones de un File System
Identificación y localización de archivos. Manejo de directorios para identificar la ubicación
de los archivos y sus atributos. Manejo de los espacios libres. Asignación de archivos a bloques libres. Acceso a los archivos. Control de acceso a los archivos
Concepto de Archivo
Un archivo es una colección de información definida por el usuario. Es un espacio continuo de direcciones lógicas.
Muchas de las veces el S.O. es independiente del significado de los archivos.
Algunos S.O. ven archivos como una secuencia de registros, bits, bytes, lineas, etc.
Tipos de archivos
Datos– numéricos– caracteres– binario
Programa– fuentes– objetos
Documentos
Atributos de un archivo
Nombre: información para el humano Type: necesario para los sistemas que soportan
tipos Location: apuntador al archivo dentro del
dispositivo. Size: tamaño actual Protection: controles para leer, escribir y ejecutar Time, date, and user identification: data para
protección, seguridad y monitoreo.En la estructura directorio, almacenada en disco, se tiene la información de los archivos.
Ninguna - secuencia de palabras o bytes. Registros - colección de información tratadas
como unidad– líneas– longitud fija– longitud variable
Complejas - colección de registros tratados como una unidad. Posee un nombre único y puede restringir el acceso.– Documento formateado– archivo de carga
Estructura
Operaciones sobre archivos
- Crear (create)
- Escribir (write)- Leer (Read)- Reposición dentro del archivo (file seek)- eliminar (delete)- abrir (open(f)) mueve a la memoria la entrada del archivo, encontrada en la estructura directorio.-cerrar (close(f)) mueve, la entrada del archivo que está en memoria, al directorio.
Tipos,Nombres-extensiones
Ejecutable exe, com, bin ornone
Programa lenguaje demáquina
Objecto obj, o Complido, no enlazado
Código fuente c, p, pas, 177,asm, a
Código fuente en varios lenguajes
Batch bat, sh Comandos para elinterpretador
Texto txt, doc Documentos texto
Procesador de palabraswp, tex, rrf, etc. Varios procesadoresde palabra
Librería lib, a Rutinas de librerías
Print or view ps, dvi, gif ASCII or archivos binarios
Archivo arc, zip, tar Archivos agrupados en uno, algunas veces comprimidos
Tipo de archivo extensión Función
Acceso rápido Fácil de actualizar Economía de espacio de almacenaje Simple para mantenimiento Confiabilidad
Criterios para Organización
Montón (Pile) – la data es recogida en el orden como llegan– el objetivo es acumular una masa de data y
salvarla– los registros pueden tener campos diferentes– no tiene estructura– el acceso a los registros se hace de forma
exhaustiva.
Organización lógica
Secuencial – usa formato fijo para los registros– los registros son de la misma longitud – Conjunto fijos de campos en un orden fijo– los nombre de los campos y sus longitudes son
atributos de los archivos– hay un campo clave
identifica unívocamente al registro los registros son almacenados en secuencia de claves.
Organización lógica
Secuencial Indexado – Un archivo índice mejora la capacidad de
acercarse al registros deseado contiene el campo clave y un apuntador al archivo
principal para buscar un campo, el índice es buscado para
encontrar la clave que es igual o precede a la clave deseada
la búsqueda continua en el archivo principal en la posición indicada por el pointer.
– Nuevos registros son sumados a un archivo de overflow
Organización lógica
Secuencial Indexado – El registro en el archivo principal que está antes
del insertado, es actualizado a contener un apuntador al nuevo registro.
– El overflow es mezclado con el archivo principal durante una actualización batch
– Para incrementar eficiencia se pueden colocar múltiples índices.
Organización lógica
Organización Secuencial Indexado
IndexLevels
12
n
Main File
Overflow File
Index
Indexado – Usa múltiples índices para diferentes campos
clave– Tipos de Índices
índice exhaustivo : que contiene una entrada por cada registro en el archivo principal.
índice parcial: contiene una entrada a los registros donde existe el campo de interés.
Organización lógica
Organización Indexada
Exhaustive Index
Exhaustive Index
Partial Index
Directo o Hashed – Acceso directo a un bloque en una dirección
conocida– Un campo clave requerido para cada registro.– No existe el concepto de orden secuencial
Organización lógica
Organización Hashed
Key f
HashFunction
Primary File
Overflow File
Acceso Secuencial – Abre el archivo
read: lee el próximo pedazo write: escribe el próximo pedazo
– reset Acceso Directo
– read: lee de la posición n– Write: escribe en la posición n– position n
read next write next
– rewrite n
n es un número de bloque relativo a la posición actual
Métodos de Acceso
Otros métodos ej. Indexado: el acceso se hace a través de la clave– envuelve la construcción de índices. Los índices
contiene apuntadores a los diferentes bloques.– Buscar el índice y luego usar el apuntador para
encontrar la información deseada.– El tiempo para obtener la información es crítico.– Los datos se procesan muy raramente de forma
exhaustiva.
Métodos de Acceso
Directorios son archivos Contiene información sobre los archivos
– atributos– ubicación– último día de acceso– último día de actualización– propietario, etc.
Provee un mapping entre nombre de archivo (simbólico) y el archivo mismo.
Tanto los archivos como los directorios están en disco
Directorio
Buscar un archivo Crear un archivo Eliminar un archivo Listar un directorio Renombrar un archivo
Operaciones sobre Directorio
Eficiencia - localización rápida de un archivo Nombramiento - forma conveniente para los
usuarios.– Dos usuarios pueden tener el mismo nombre para
archivos diferentes.– El mismo archivo puede tener diferentes nombres.
Agrupación - agrupación lógica de archivos por características o propiedades.
Criterios para Organizar Directorios
Nivel Simple– un solo directorio para todos los usuarios– Problemas de nombre– Problemas de agrupación
Organización
Directorio
Files
A Bo Co xeh
Dos Niveles– Separa directorio de cada usuario– Búsqueda eficiente– Archivos con el mismo nombre pero de diferentes
usuarios– No capacidad de agrupación– MFD (Master File Directory) contiene una entrada
por cada usuario– UFD (User File Directory) contiene una entrada por
cada archivo del usuario
Organización
Organización Dos Niveles
Arbol
Organización
bin programsspell
Arbol– Búsqueda eficiente– Capacidad de agrupación– Directorio Actual (working directory)
cd /spell/mail/prog type list
Organización
Arbol– Path absolutos o relativos– Creación de nuevos archivos es hecho en el
directorio corriente.– Elimina archivos del directorio corriente
rm nombre-archivo
– crear un nuevo subdirectorio mkdir nombre-dir
– Eliminar un directorio implica eliminar todos los subarboles que poseen como raiz el directorio eliminado.
Organización
Grafo Aciclico
Organización
count count A
List
Spell
ROOT
List WList
dict
Grafo Aciclico– Dos nombres diferentes para un mismo archivo– Si dict elimina count, entonces queda apuntador
huérfano. – Soluciones
Apuntadores de retroceao (Backpointers), para que se puedan eliminar TODOS los apuntadores.
Mantener el conteo de las referencias al archivo. No eliminar hasta que no queden apuntadores
Organización
General Graph Directory
How do we guarantee no cycles?– Allow only links to file not subdirectories– Garbage collection– Every time a new link is added use a cycle
detection algorithm to determine whether it is OK
El creador/propietario de un archivo debería ser capaz de controlar– Que se puede hacer con el archivo– Por quien
Tipos de accesos– Read– write– execute– Append– delete– list
Protección
Modos de acceso: read,write,execute Tres clases de usuarios RWX
– propietario 7 = 1 1 1– grupo 6 = 1 1 0– publico 1 = 0 0 1
para cada archivo o directorio se define su acceso– chmod 761 ejem
owner,group,public
Protección
Caracterización del sistema que permite múltiples accesos a archivos compartidos simultáneamente.– Escritura sobre un archivo abierto es visible
inmediatamente a los otros usuarios que lo tienen abierto al mismo tiempo
– Escritura de un archivo abierto no es hecha visible inmediatamente a los demás que lo comparten. Después de que el archivo es cerrado y se abre una nueva sesión es que se ven los cambios
– Inmutables archivos compartidos. Un archivo declarado compartido, no puede ser modificado
Consistencia Semántica