el aspecto más importante de la implementación del almacenamiento en archivos sea poder relacionar...
TRANSCRIPT
Implementación de archivos
El aspecto más importante de la implementación del almacenamiento en archivos sea poder relacionar bloques de disco con archivos.
Se emplean diversos métodos en los diferentes sistemas operativos
Asignación contigua (Contiguous Allocation)1
Almacena cada archivo como un bloque contiguo de datos en el disco
Asignación contigua (Contiguous Allocation)1
Almacena cada archivo como un bloque contiguo de datos en el disco
Almacena cada archivo como un bloque contiguo de datos en el disco
Asignación contigua (Contiguous Allocation)1
VENTAJAS • Implementación sencilla , solo se necesita el comienzo (nº de bloque) y la longitud.
• Buen acceso, es posible leer todo el archivo del disco en una sola operación.
DESVENTAJAS • Se debe conocer el tamaño máximo del archivo sino el sistema operativo no sabrá cuánto espacio en disco debe reservar
• Se generan huecos al asignar/borrar• Es inconveniente cuando los archivos
crecen dinámicamente
Asignación contigua (Contiguous Allocation)1
Asignación por lista enlazada (Linked Allocation)
Guardar cada uno como una lista enlazada de bloques de disco. La primera palabra de cada bloque se emplea como apuntador al siguiente. El resto del bloque se destina a datos
2
VENTAJAS • Evita la fragmentación externa• El archivo puede crecer dinámicamente
cuando hay bloques de disco libres, no es necesario compactar
DESVENTAJAS • El acceso directo no es efectivo• Espacio requerido para los punteros de enlace• Seguridad por la pérdida de punteros.
Solución: lista doblemente enlazada (overhead)
Asignación por lista enlazada (Linked Allocation)2
Asignación por lista enlazada usando tabla (Linked Allocation using file allocation table (FAT) )
Se toma la palabra de apuntador de cada bloque y se le coloca en una tabla o índice en la memoria Principal (caché). La cadena está por completo en la memoria, y puede seguirse sin tener que consultar el disco. Windows y OS/2
3
VENTAJAS • Simple y eficiente siempre que esté en caché• Para localizar un bloque solo se necesita leer
en la FAT, se optimiza el acceso directo
DESVENTAJAS • Pérdida de punteros, doble copia de la FAT
Asignación por lista enlazada usando tabla (Linked Allocation using file allocation table (FAT) )
3
Asignación con nodos índice (Index Allocation)
Todos los punteros a los bloques están juntos en una localización concreta: bloque índice.Cada File System posee su propia lista de i-nodosUn i-nodo es un registro que almacena la mayor parte de información de un archivoUNIX
4
VENTAJAS • Buen acceso directo• No produce fragmentación externa
DESVENTAJAS • Posible desperdicio de espacio en los bloques índices
• Tamaño del bloque índice(a) Bloques índices enlazados(b) Bloques índices multinivel
Asignación con nodos índice (Index Allocation)4
Asignación con nodos índice (Index Allocation)4
• Bloques índices enlazados
• Bloques índices multinivel