Este documento describe tres métodos comunes para la asignación de espacio en un sistema de archivos: contigua, enlazada e indexada. En el método contiguo, un archivo ocupa bloques continuos en el disco y se define por su bloque base y longitud. En el método enlazado, un archivo se define por su primer y último bloque y puede crecer siempre que haya bloques libres, aunque no soporta acceso directo de manera eficiente. El método indexado define un archivo por un índice y soporta acceso directo y secuencial con un pequeño overhead
4. Características
El archivo ocupa un conjunto de bloques
continuos en el disco.
Archivo definido por base mas longitud
Soporta acceso secuencial y directo
Dificultad de asignación de espacio o incrementar
el tamaño del archivo.
6. Características
Archivo definido por primer y ultimo bloque
Archivo puede crecer, mientras que existan
bloques libres.
No tiene problema de almacenaje, cualquier
bloque libre servirá
Acceso directo no soportado de manera eficiente
Espacio requerido para el apuntador
Poco confiable
12. Vector de bits
El
mapa de bits requiere de espacio
adicional. Ejemplo
– Tamano del bloque = 2^12 bytes (4KB).
– Tamano del disco = 2^30 bytes(1GB)
– n= 2^30/2^12 = 2^18 (32KB 0 8 bloques)
13. Manejo de espacio libre
Lista
enlazada
– todos los bloques libres se encuentran
unidos por medio de apuntadores
– El requerimiento de espacio contiguo no
puede ser satisfecho fácilmente
– Emplea poco espacio. Es decir poco
overhead
15. Manejo de espacio libre
Grupos
– Almacena las direcciones de los bloques libres en
el primer bloque libre
– permite encontrar las direcciones de los bloques
libres rápidamente.
16. Manejo de espacio libre
Counting
– Guarda junto con la dirección del primer bloque
libre, el número de bloques contiguos que hay
– Requiere de una tabla mas corta que la del
esquema de grupos pero ocupa cada entrada mas
espacio.
17. Manejo de espacio libre
Need to protect:
– Pointer to free list
– Bit map
Must
be kept on disk
Copy in memory and disk may differ
Cannot allow for block[i] to have a situation where bit[i] =
1 in memory and bit[i] = 0 on disk
– Solution:
Set
bit[i] = 1 in disk
Allocate block[i]
Set bit[i] = 1 in memory
18. Implementacion de Directorios
Linear list of file names with pointer to the data
blocks
– simple to program
– time-consuming to execute
Hash Table – linear list with hash data structure
– decreases directory search time
– collisions – situations where two file names hash
to the same location
– fixed size
19. Desempeno
Cache
de disco – se separa un pedazo de
memoria para los bloques usados con
mas frecuencia.
Crear en memoria discos virtuales o
discos RAM (RAM disk)