Actualizado el 14 de Febrero del 2021 (Publicado el 13 de Junio del 2020)
1.603 visualizaciones desde el 13 de Junio del 2020
357,9 KB
32 paginas
Creado hace 19a (17/05/2005)
Unidad 3:
Gestión de Archivos
Tema 6, Implementación del
Sistema de Archivos:
6.1 Estructura del Sistema de Archivos.
6.2 Métodos de Asignación: Continua, enlazada, indexada.
6.3 Fiabilidad del sistema de archivos.
6.4 Gestión de archivos en UNIX.
6.5 Gestión de archivos en Windows 2000: NTFS.
Escuela Universitaria de
Informática (Segovia)
1
6.1 Estructura del Sistema de Archivos.
Introducción:
El sistema de archivos reside permanentemente en
almacenamiento secundario, cuyo único requisito es que
debe poder contener una gran cantidad de datos de forma
permanente.
Gestión de almacenamiento secundario:
• En memoria secundaria un archivo consta de un cjto de bloques.
• El SO o el sistema de gestión de archivos es responsable de la
asignación de los bloques a los archivos.
• Para mejorar la eficiencia E/S: Las transferencias entre la
memoria y el disco se efectúan en unidades de “bloques” (uno o
más sectores, de tamaño en torno a 512 bytes).
Escuela Universitaria de
Informática (Segovia)
2
6.1 Estructura del Sistema de Archivos.
Discos:
Dos características importantes los convierten en un medio cómodo
para almacenar muchos archivos,
Se pueden reescribir en el mismo lugar.
Podemos acceder directamente a cualquier bloque de
información del disco.
Organización del sistema de archivos:
Un sistema de archivos presenta dos problemas de diseño
muy distintos:
• Definir qué aspecto debe presentar el sistema de archivos a los
usuarios (atributos, operaciones, estructura de directorios, etc.).
• Definir los algoritmos y estructuras de datos que permiten
mapear el sistema de ficheros lógico sobre los equipos físicos.
Escuela Universitaria de
Informática (Segovia)
3
6.1 Estructura del Sistema de Archivos.
Organización del sistema de archivos:
Ejemplo de diseño por capas:
Escuela Universitaria de
Informática (Segovia)
4
6.2 Métodos de asignación.
Cuestiones surgidas:
1. Cuando creamos un archivo nuevo, ¿se asigna de una sola
vez el máximo espacio que necesita?.
2. Espacio que se asigna: Sección ⇒ ¿qué tamaño de sección
(entre un bloque y todo un archivo) debería usarse para
asignar archivos?.
3. ¿Tipo de tabla o estructura de datos que necesitamos para
guardar constancia de las secciones asignadas a un archivo?
⇒ Tabla de asignación de archivos (FAT).
Tres métodos de asignación de espacio en disco:
Asignación contigua.
Asignación enlazada (encadenada).
Asignación indexada (enlazada de bloques índice).
Escuela Universitaria de
Informática (Segovia)
5
6.2 Métodos de asignación.
Asignación Contigua:
Cada fichero ocupa bloques con direcciones lógicas del
dispositivo contiguas ⇒ bloques contiguos en el disco.
Número de búsquedas y tiempo de búsqueda mínimos
para acceder a archivos contiguos.
Asignación contigua definida por:
• Dirección en disco del bloque inicial.
• Longitud del área asignada al archivo (nº de bloques).
Permite el acceso secuencial y directo.
Escuela Universitaria de
Informática (Segovia)
6
6.2 Métodos de asignación.
Asignación Contigua:
Problemas:
• Asignación dinámica de almacenamiento:
• Estrategias de primer ajuste y mejor ajuste.
• Selección de un hueco libre del conjunto de los huecos disponibles.
• Inserción de datos difícil.
• Fragmentación externa (por los algoritmos utilizados):
• Al borrar un fichero queda un hueco que puede no ser utilizado
completamente por otro fichero.
• Solución: compactación (creación de un único hueco suficientemente
grande).
Escuela Universitaria de
Informática (Segovia)
7
6.2 Métodos de asignación.
Asignación Contigua:
Resumen:
• Se necesita la dirección del primer bloque.
• Todo el archivo se puede leer de una sola vez (buen rendimiento)
• El método no es realizable, a menos que se conozca el tamaño
máximo del archivo, en el momento de su creación.
• Produce bastante fragmentación externa.
• Fácil acceso directo a bloques.
• Importante la gestión de espacio libre.
Escuela Universitaria de
Informática (Segovia)
8
6.2 Métodos de asignación.
Asignación Enlazada:
Archivo como lista enlazada de bloques de disco.
Los bloques pueden estar dispersos por todo el disco.
La entrada al directorio contiene un puntero al primer y al
último bloque del archivo.
Salto entre bloques ⇒ cada bloque contiene un puntero al
siguiente bloque.
Se solucionan los problemas de la asignación contigua:
• No hay fragmentación externa ya que no hay necesidad de
declarar el tamaño de un archivo en el momento de crearlo.
• Un archivo puede continuar creciendo siempre que haya bloques
libres.
• No es necesario compactar el disco.
Escuela Universitaria de
Informática (Segovia)
9
6.2 Métodos de asignación.
Asignación Enlazada:
Problemas:
• Sólo es eficiente para archivos de acceso secuencial.
• Espacio ocupado por los punteros (se utiliza espacio para
guardar punteros perdiéndolo para guardar información) ⇒ nos
queda un poco menos de espacio en cada bloque.
Solución:
• Juntar bloques en cúmulos o “clusters” y asignar los clusters en
vez de los bloques ⇒ se pierde menos espacio.
Escuela Universitaria de
Informática (Segovia)
10
6.2 Métodos de asignación.
Asignación Enlazada:
Ventajas del método:
• La correspondencia entre bloques sigue siendo sencilla:
• Mejora el rendimiento del disco.
• Reduce el espacio necesario para la asignación de bloques y la
administración de la lista de espacio libre.
• Los clusters mejoran el tiempo de acceso a disco ⇒ se usan en
casi todos los sistemas operativos.
Inconveniente:
• Crece la fragmentación interna, pues se desperdicia más espacio
cuando un cluster está parcialmente lleno que cuando un bloque
está parcialmente lleno.
Escuela Universitaria de
Informática (Segovia)
11
6.2 Métodos de asignación.
Asignación Enlazada:
FAT (File Allocation Table):
• Tabla de Asignación de Ficheros.
• Al principio de cada partición se reserva una sección del disco
para guardar una tabla en ella.
• Tiene una entrada para cada bloque de disco.
• Está indizada por nº de bloque (se usa de manera similar a una
lista enlazada).
• La entrada de directorio contiene el nº de bloque del primer
bloque del archivo.
• La entrada de la tabla indizada por ese nº de bloque contiene el
nº del siguiente bloque del archivo.
• La cadena continúa hasta el último bloque, que tiene un valor
especial de fin de archivo como entrada de la tabla.
• Los bloques desocupados se indican con valor cero en la tabla.
Escuela Universitaria de
Informática (Segovia)
12
6.2 Métodos de asignación.
Asignación Enlazada:
FAT (Resumen):
• Todos los bloques están organizados en una lista enlazada. Hay
dos posibilidades:
• Los bloques están enlazados entre ellos.
• Se guarda la lista en memoria (MS-DOS).
• Problema:
• Para leer o escribir en el bloque “n”, hay que recorrer los “n-1”
bloques precedentes.
• MS-DOS añade una tabla de localización de archivos duplicada. El
sistema de archivos depende del tamaño de cada entrada en la
FAT.
Escuela Universitaria de
Informática (Segovia)
13
6.2 Métodos de asignación.
Asignación Indexada:
Indizada o enlazada de bloques índice:
• Asignación enlazada resuelve:
• Fragmentación externa.
• Declaración anticipada del tamaño de los archivos.
• Problema:
• Si no se usa FAT no se puede implementar un acceso directo
eficiente (punteros dispersos junto con los bloques).
• Solución:
• Reunir todos los punteros en el mismo lugar ⇒ bloque índice
(asignación indexada).
Escuela Universitaria de
Informática (Segovia)
14
6.2 Métodos de asignación.
Asignación Indexada:
Cada archivo tiene su propio bloque índice.
La i-ésima entrada del bloque índice apunta al i-ésimo bloque
del archivo.
El directorio contiene la dirección del bloque índice.
Soporta el acceso directo sin sufrir fragmentación externa.
Inconveniente: Desperdicia espacio (gasto de los punteros
del bloque índice).
Conviene que el bloque índice sea lo más pequeño posible
(normalmente ocupa un bloque de disco).
Sin embargo, si es demasiado pequeño, no podrá contener
suficientes punteros como requiere un archivo grande.
Escuela Universitaria de
Informática (Segovia)
15
6.2 Métodos de asignación.
Asignación Indexada:
Soluciones:
• Esquema enlazado:
• Para manejar archivos grandes podríamos enlazar varios bloques
índice.
• Indice multinivel:
• Usar un bloque índice de primer nivel que apunte a un conjunto de
bloques índice de segundo nivel.
• Esquema combinado:
• Guardamos los primeros punteros del bloque índice en el bloque
índice del archivo. Los punteros apuntarán a bloques directos, bloques
indirectos simples, bloques indirectos dobles, ...
Escuela Universitaria de
Informática (Segovia)
16
6.2 Métodos de asignación.
Comparación entre asignaciones (I):
Asignación contigua:
• Ventajas:
• Soporta acceso secuencial y directo.
• Todo el espacio se utiliza para almacenar datos.
• Desventajas:
• Encontrar espacio para la creación de un fichero.
• Fragmentación externa.
• Declaración por anticipado del tamaño del archivo.
Asignación enlazada:
• Ventajas:
• No se produce fragmentación externa.
• No es necesario declarar por anticipado el tamaño del archivo.
Escuela Universitaria de
Informática (Segovia)
17
6.2 Métodos de asignación.
Comparación entre asignaciones (II):
Asignación enlazada:
Comentarios de: Unidad 3: Gestión de Archivos (0)
No hay comentarios