Publicado el 17 de Julio del 2019
1.618 visualizaciones desde el 17 de Julio del 2019
1,3 MB
83 paginas
Creado hace 13a (21/12/2011)
Diseño de Sistemas Operativos
Capítulo 8
Gestión de Archivos y Directorios
Extraído de “Sistemas operativos: una visión aplicada”
© J. Carretero, F. García, P. de Miguel, F. Pérez
Sistema de archivos
• Requisitos de un sistema de archivos
• Archivos/directorios: Tipos e Información
• Visión lógica visión física: (sistemas de archivos)
– MS-DOS FAT
– UFS: Unix File System
• Diseño interno de un sistema de archivos
• Servidor de bloques
• Elementos especiales:
– Cerrojos
– Redundancia
– Recuperación (journaling)
Sistemas operativos: una visión aplicada
Versión seleccionada y ampliada por © J.M. Peña
2 © J. Carretero, F. García, P. de Miguel, F. Pérez
Características para el usuario
• Almacenamiento permanente de información. No desaparecen
aunque se apague el computador.
• Conjunto de información estructurada de forma lógica según
criterios de aplicación.
• Nombres lógicos y estructurados.
• No están ligados al ciclo de vida de una aplicación particular.
• Abstraen los dispositivos de almacenamiento físico.
• Se acceden a través de llamadas al sistema operativo o de
bibliotecas de utilidades.
Sistemas operativos: una visión aplicada
Versión seleccionada y ampliada por © J.M. Peña
3 © J. Carretero, F. García, P. de Miguel, F. Pérez
Características para el SSOO
• El sistema de archivos es un servicio para los usuarios.
• El acceso a los dispositivos es:
• Detalles físicos de los dispositivos
• Dependiente de las direcciones físicas
– Incómodo
– No seguro
• Objetivos:
• Si el usuario accede a nivel físico no tiene restricciones
– Proporcionar mecanismos de nombrado y localización de
datos no volátiles.
– Ofrecer primitivas de acceso cómodas e independientes de
los detalles de los dispositivos físicos
– Mecanismos de protección
Sistemas operativos: una visión aplicada
Versión seleccionada y ampliada por © J.M. Peña
4 © J. Carretero, F. García, P. de Miguel, F. Pérez
Sistema de archivos: Objetivos
Cómo se
identifica y
localiza
Estructura lógica
para almacenar
información
Cómo se
almacena y
recupera
Esquema de
nombrado
Mecanismo de
almacenamiento
Directorios y
archivos
Gestión de
dispositivos
Sistemas operativos: una visión aplicada
Versión seleccionada y ampliada por © J.M. Peña
5 © J. Carretero, F. García, P. de Miguel, F. Pérez
Estructura de los sistemas de archivos
1. Visión del usuario:
– Archivos
– Directorios
– Utilidades
– Protección
2. Servidor de Archivos:
– Estructura lógica
– Eficiencia
– Consistencia
3. Servidor de Bloques:
– Gestión de dispositivos
– Caché y buffering
Usuarios y
Aplicaciones
Servidor de Archivos
Caché de Bloques
Servidor de Bloques
Dispositivos
Sistemas operativos: una visión aplicada
Versión seleccionada y ampliada por © J.M. Peña
6 © J. Carretero, F. García, P. de Miguel, F. Pérez
Visión externa del sistema de archivos
Servicios lógicos
(archivos y directorios)
Usuarios y
Aplicaciones
Servidor de Archivos
Caché de Bloques
Servidor de Bloques
Dispositivos
Sistemas operativos: una visión aplicada
Versión seleccionada y ampliada por © J.M. Peña
7 © J. Carretero, F. García, P. de Miguel, F. Pérez
Servidor de archivos
• Para proporcionar un acceso eficiente y sencillo a los
dispositivos de almacenamiento, todos los sistemas operativos
tienen un servidor de archivos que permite almacenar, buscar y
leer datos fácilmente.
• Dicho servidor de archivos tiene dos tipos de problemas de
diseño muy distintos entre sí:
– Definir la visión de usuario del sistema de entrada/salida,
incluyendo servicios, archivos, directorios, sistemas de
archivos, etc.
– Definir los algoritmos y estructuras de datos a utilizar para
hacer corresponder la visión del usuario con el sistema
físico de almacenamiento secundario.
Sistemas operativos: una visión aplicada
Versión seleccionada y ampliada por © J.M. Peña
8 © J. Carretero, F. García, P. de Miguel, F. Pérez
Atributos del archivo
• Nombre: la única información en formato legible por una persona.
•
Identificación única del archivo y del usuario: descriptor interno del
archivo, dueño y grupo del archivo
• Tipo de archivo: necesario en sistemas que proporciona distintos formatos de
• Tamaño del archivo: número de bytes en el archivo, máximo tamaño
archivos.
posible, etc.
• Protección: control de accesos y de las operaciones sobre archivos
•
•
• Atributos extendidos:
Información temporal: de creación, de acceso, de modificación, etc.
Información de control: archivo oculto, de sistema, normal o directorio, etc.
– Opciones especiales de escritura (append only)
– Resource fork: Información para la aplicación con la que se crea o se
manipula.
Sistemas operativos: una visión aplicada
Versión seleccionada y ampliada por © J.M. Peña
10 © J. Carretero, F. García, P. de Miguel, F. Pérez
Concepto de directorio
• Objeto que relaciona de forma unívoca un nombre de archivo
(dado por el usuario) con su descriptor interno
• Organizan y proporcionan información sobre la estructuración
de los sistemas de archivos
• Una colección de listados que contienen información acerca de
los archivos
• Es una unidad de organización que proporciona el SO. Por lo
tanto son datos con un formato que el propio SO utiliza para
localizar archivos.
Sistemas operativos: una visión aplicada
Versión seleccionada y ampliada por © J.M. Peña
11 © J. Carretero, F. García, P. de Miguel, F. Pérez
Directorios: Visión lógica
• Esquema jerárquico.
• Operaciones sobre un directorio:
– Crear (insertar) y borrar (eliminar) directorios.
– Abrir y cerrar directorios.
– Renombrar directorios.
– Leer entradas de un directorio.
– Montar (combinar)
• Cuando se pide abrir un archivo el SO busca el nombre en la
estructura de dicho directorio.
• La organización jerárquica de un directorio
– Simplifica el nombrado de archivos (nombres únicos)
– Proporciona una gestión de la distribución => agrupar
archivos de forma lógica (mismo usuario, misma aplicación)
Sistemas operativos: una visión aplicada
Versión seleccionada y ampliada por © J.M. Peña
12 © J. Carretero, F. García, P. de Miguel, F. Pérez
Directorios: estructura e implementación
• Tanto la estructura del directorio como los archivos residen en
discos
• Los directorios se suelen implementar como archivos (que el
SO gestiona de forma particular)
Información en un directorio: nombre, tipo, dirección, longitud
máxima y actual, tiempos de acceso y modificación, dueño, etc.
•
• Hay estructuras de directorio muy distintas. La información
depende de esa estructura.
• Dos alternativas principales:
– Almacenar atributos de archivo en entrada directorio
– Almacenar <nombre, identificador>, con datos archivo en
una estructura distinta. Ésta es mejor opción.
Sistemas operativos: una visión aplicada
Versión seleccionada y ampliada por © J.M. Peña
13 © J. Carretero, F. García, P. de Miguel, F. Pérez
Organización del directorio
• Eficiencia: localizar un archivo rápidamente
• Nombrado: conveniente y sencillo para los usuarios
– Dos usuarios pueden tener el mismo nombre para archivos
distintos
– Los mismos archivos pueden tener nombres distintos
– Nombres de longitud variable
• Agrupación: agrupación lógica de los archivos según sus
propiedades (por ejemplo: programas Pascal, juegos, etc.)
• Estructurado: operaciones claramente definidas y ocultación
• Sencillez: la entrada de directorio debe ser lo más sencilla
posible.
Sistemas operativos: una visión aplicada
Versión seleccionada y ampliada por © J.M. Peña
14 © J. Carretero, F. García, P. de Miguel, F. Pérez
Archivos: Semántica de coutilización
• Cualquier forma de acceso tiene problemas cuando varios
usuarios trabajan con el archivo simultáneamente.
• Semántica de coutilización: especifica el efecto de varios
procesos accediendo de forma simultánea al mismo archivo y
cuando se hacen efectivas las modificaciones.
• Tipos de semánticas:
– Semántica UNIX (POSIX)
• Las escrituras son inmediatamente visibles para todos los
procesos con el archivo abierto.
• Los procesos pueden compartir archivos. Si existe relación de
parentesco pueden compartir el puntero. La coutilización afecta
también a los metadatos.
• Costoso computacionalmente. SO ha de secuenciar accesos.
Sistemas operativos: una visión aplicada
Versión seleccionada y ampliada por © J.M. Peña
15 © J. Carretero, F. García, P. de Miguel, F. Pérez
Archivos: Semántica de coutilización (II)
– Semántica de sesión
• Las escrituras que hace un proceso no son inmediatamente visibles
para los demás procesos con el archivo abierto.
• Cuando se cierra el archivo los cambios se hacen visibles para las
futuras sesiones.
• Un archivo puede asociarse temporalmente a varias imágenes.
• Se hace necesario sincronizar los procesos explicitamente.
– Semántica de versiones
• Las actualizaciones se hacen sobre copias con
Comentarios de: Capítulo 8 Gestión de Archivos y Directorios - Diseño de Sistemas Operativos (0)
No hay comentarios