Publicado el 4 de Septiembre del 2018
1.669 visualizaciones desde el 4 de Septiembre del 2018
848,9 KB
104 paginas
Creado hace 7a (06/09/2017)
Semántica de archivos
Tipos de archivo
Métodos de acceso
Organización de archivos
Sistemas de archivos remotos
Sistemas de archivos: Archivos y directorios
Gunnar Wolf
Gunnar Wolf
Sistemas de archivos: Archivos y directorios
Semántica de archivos
Tipos de archivo
Métodos de acceso
Organización de archivos
Sistemas de archivos remotos
Índice
1 Semántica de archivos
2 Tipos de archivo
3 Métodos de acceso
4 Organización de archivos
5 Sistemas de archivos remotos
Gunnar Wolf
Sistemas de archivos: Archivos y directorios
Semántica de archivos
Tipos de archivo
Métodos de acceso
Organización de archivos
Sistemas de archivos remotos
Sistemas de archivos
Gestión del espacio de almacenamiento
Probablemente el rol con más visibilidad de los que cubren los
sistemas operativos
Comprendido casi universalmente por los usuarios
Gunnar Wolf
Sistemas de archivos: Archivos y directorios
Semántica de archivos
Tipos de archivo
Métodos de acceso
Organización de archivos
Sistemas de archivos remotos
Abstracción primaria
El modelo primario, con el cual todos estaremos familiarizados,
es el del directorio jerárquico
Unidad de almacenamiento visible al usuario: Archivo
No podemos grabar información como no sea en un archivo
Se ubica por un nombre (o por una ruta) en el directorio
Una de las abstracciones más longevas en la historia de la
computación
Gunnar Wolf
Sistemas de archivos: Archivos y directorios
Semántica de archivos
Tipos de archivo
Métodos de acceso
Organización de archivos
Sistemas de archivos remotos
Tipo de datos abstracto
Cuando hablamos de manejo de archivos, necesariamente lo
hacemos a través de un tipo de datos abstracto
Esto es, en el lenguaje y bajo el paradigma que sea, un tipo de
programación orientada a objetos
Una estructura de datos (archivo) es opaca (no se puede
accesar a sus contenidos más que a través de operaciones que
trabajan en su interior)
Hay una serie de operaciones definidas
Cada sistema operativo nos presenta un conjunto de
operaciones que define la semántica de archivos que maneja
Gunnar Wolf
Sistemas de archivos: Archivos y directorios
Semántica de archivos
Tipos de archivo
Métodos de acceso
Organización de archivos
Sistemas de archivos remotos
Operaciones con archivos
Hay algunas diferencias entre sistemas operativos, pero en general
tendremos las siguientes operaciones disponibles:
Crear
Borrar
Abrir
Cerrar
Leer
Escribir
Reposicionar (seek)
Gunnar Wolf
Sistemas de archivos: Archivos y directorios
Semántica de archivos
Tipos de archivo
Métodos de acceso
Organización de archivos
Sistemas de archivos remotos
Operaciones con archivos: Crear
Asigna una entrada en el directorio para un nuevo archivo
Posiblemente, también asigna espacio en el dispositivo para
sus contenidos.
Gunnar Wolf
Sistemas de archivos: Archivos y directorios
Semántica de archivos
Tipos de archivo
Métodos de acceso
Organización de archivos
Sistemas de archivos remotos
Operaciones con archivos: Borrar
Elimina al archivo del directorio
Si corresponde, libera el espacio del dispositivo que el archivo
emplea
Gunnar Wolf
Sistemas de archivos: Archivos y directorios
Semántica de archivos
Tipos de archivo
Métodos de acceso
Organización de archivos
Sistemas de archivos remotos
Operaciones con archivos: Abrir
Verificar si tenemos acceso para el modo de acceso indicado
Verificar si el medio soporta el modo de acceso
Por ejemplo, no podemos abrir para escritura un archivo en un
disco de sólo lectura
Aunque tengamos permisos
Asigna un descriptor de archivos a la relación entre el proceso
y el archivo en cuestión
Es necesario abrir un archivo para todas las operaciones que
realizaremos con sus datos
Gunnar Wolf
Sistemas de archivos: Archivos y directorios
Semántica de archivos
Tipos de archivo
Métodos de acceso
Organización de archivos
Sistemas de archivos remotos
Operaciones con archivos: Cerrar
Indica al sistema que el proceso terminó de usar al archivo
El sistema vacía los buffers a disco
El sistema elimina la relación archivo-proceso de las tablas
activas
Se invalida al descriptor de archivo
Si un proceso cierra un archivo y quiere emplearlo de cualquier
manera, tiene que volverlo a abrir explíticamente.
Gunnar Wolf
Sistemas de archivos: Archivos y directorios
Semántica de archivos
Tipos de archivo
Métodos de acceso
Organización de archivos
Sistemas de archivos remotos
Operaciones con archivos: Leer
Indicamos al sistema un buffer donde poner el resultado
El sistema copia el siguiente pedazo de información en el
archivo hacia el buffer
¿Qué es siguiente?
Gunnar Wolf
Sistemas de archivos: Archivos y directorios
Semántica de archivos
Tipos de archivo
Métodos de acceso
Organización de archivos
Sistemas de archivos remotos
Operaciones con archivos: Leer
Indicamos al sistema un buffer donde poner el resultado
El sistema copia el siguiente pedazo de información en el
archivo hacia el buffer
¿Qué es siguiente? Lo que indique el apuntador de última
posición
¿Qué es pedazo?
Gunnar Wolf
Sistemas de archivos: Archivos y directorios
Semántica de archivos
Tipos de archivo
Métodos de acceso
Organización de archivos
Sistemas de archivos remotos
Operaciones con archivos: Leer
Indicamos al sistema un buffer donde poner el resultado
El sistema copia el siguiente pedazo de información en el
archivo hacia el buffer
¿Qué es siguiente? Lo que indique el apuntador de última
posición
¿Qué es pedazo? Un bloque de longitud fija, una línea de texto
— dependiendo del modo en que esté abierto el archivo /
solicitada la lectura
Gunnar Wolf
Sistemas de archivos: Archivos y directorios
Semántica de archivos
Tipos de archivo
Métodos de acceso
Organización de archivos
Sistemas de archivos remotos
Operaciones con archivos: Escribir
Indicamos un buffer al sistema
El sistema copia de dicho buffer al archivo
¿A qué parte del archivo?
Truncar Descartar al contenido actual del archivo (pero
no su entrada en el directorio) y reemplazar por
lo que indique el buffer
Agregar (append) Se guarda la información al final del
archivo ya existente
Escribir tras la última posición Se puede seguir un apuntador
análogo al que presentamos en la lectura
Gunnar Wolf
Sistemas de archivos: Archivos y directorios
Semántica de archivos
Tipos de archivo
Métodos de acceso
Organización de archivos
Sistemas de archivos remotos
Operaciones con archivos: Reposicionar (seek)
Lectura y escritura se hacen siguiendo a un apuntador
El apuntador puede ser reposicionado arbitrariamente dentro
del archivo
O, si está abierto en modo de escritura, a veces fuera del
mismo
No todos los sistemas lo soportan, pero puede emplearse para
crear un archivo muy grande empleando archivos dispersos:
Se crea un archivo vacío
Reposicionamos a cierta posición lejana (digamos, +50MB)
Grabamos un sólo bloque
Gunnar Wolf
Sistemas de archivos: Archivos y directorios
Semántica de archivos
Tipos de archivo
Métodos de acceso
Organización de archivos
Sistemas de archivos remotos
Semántica de unidad de cinta
La forma en que opera este conjunto de funciones presenta
una semántica en que cada archivo se comporta como si fuera
una unidad de cinta
Apuntador → Cabeza lectora
Posición actual, mas rebobinado/adelantado
Lectura/escritura secuencial
Gunnar Wolf
Sistemas de archivos: Archivos y directorios
Semántica de archivos
Tipos de archivo
Métodos de acceso
Organización de archivos
Sistemas de archivos remotos
Tablas de archivos abiertos
Cuando se abre un archivo, se crean entradas para
representarlo en dos diferentes tablas
Global Todos los archivos abiertos en el sistema
La referencia debe seguirse manejando por un
descriptor global: Probablemente, por i-nodo (lo
veremos a detalle posteriormente)
Por proceso Los archivos empleados por cada uno de los
procesos
La referencia a cada archivo se hace por
descriptor de archivo
Gunnar Wolf
Sistemas de archivos: Archivos y directorios
Semántica de archivos
Tipos de archivo
Métodos de acceso
Organización de archivos
Sistemas de archivos remotos
Tablas de archivos abiertos
Semántica (¿cuál es el comportamiento?) al haber múltiples
procesos abriendo un archivo:
Depende del sistema operativo
Estas tablas no deben caer en redundancia
Cada una tiene información distinta y específica
Gunnar Wolf
Sistemas de archivos: Archivos y directorios
Semántica de archivos
Tipos de archivo
Métodos de acceso
Organización de archivos
Sistemas de archivos remotos
Tabla global de archivos abiertos (1)
Conteo de usuarios del archivo El sistema debe saber cuántos
procesos dependen del archivo y de qué manera. Se
emplea, por ejemplo, para determinar si una unidad
puede ser desmontada, para saber si un archivo puede
ser abierto para escritura, etc.
Modos de acceso Aunque un usuario tenga los permisos necesarios
para determinado acceso al archivo, el sistema puede
negarlo si esto lleva a inconsistencias (p.ej. dos
procesos abriendo un mismo archivo para escritura)
Gunnar Wolf
Sistemas de archivos: Archivos y directorios
Semántica de archivos
Tipos de archivo
Métodos de acceso
Organización de archivos
Sistemas de archivos remotos
Tabla global de archivos abiertos (2)
Ubicación en disco El o los bloques físicos en disco donde se ubica
cada fragmento del archivo, evitando que cada
proceso tenga que consultar el directorio (y
estructuras relacionadas) para cada acceso
Información de bloqueo Si el modo de acceso requiere
sincronización explícita (manejo de bloqueo), puede
representarse en la tabla global.
Gunnar Wolf
Sistemas de archivos: Archivos y directorios
Semántica de archivos
Tipos de archivo
Métodos de acceso
Organización de archivos
Sistemas de archivos remotos
Tabla por proceso de archivos abiertos
Descriptor de archivo Relación entre el archivo abierto (típicamente
especificado por nombre) y un identificador numérico
con que lo manejamos dentro del proceso.
Un mismo archivo tendrá diferente descriptor de
archivo en cada proceso.
Permisos Modos válidos de acceso para un archivo. No e
Comentarios de: Sistemas de archivos: Archivos y directorios (0)
No hay comentarios