Rafael Carlos Soriano Mármol
Carlos Sevilla Gómez
1.1. Asignación adyacente (best fit, first fit, worst fit)
1.2. Asignación mediante lista enlazada
1.1. Asignación adyacente (best fit, first fit, worstfit)
Cada uno de los archivos se almacena en un conjunto de bloques contiguos en el disco. Se registra el bloque inicial y la longitud del archivo, por lo que no se necesita ninguna estructura adicional para la asignación del espacio.
Ventajas:
Es el tipo de asignación más rápido.
La lectura completa se realiza en una sola operación.
No se necesita espacio adicional.
Es muy seguro ya que no existen estructuras globales de almacenamiento.
Desventajas:
§ Esta asignación es difícil de implantar, ya que debemos conocer el tamaño del archivo anteriormente, y si éste varía lo más normal es trasladarlo a un espacio más grande.
§ Fragmentación externa del disco, debido a que los espacios más pequeños entre archivos se desperdician (se puede solucionar mediante un compactado costoso en tiempo).
Uno de los sistemas operativos que utilizan esta asignación es Amoeba, en el cualno se permite modificar el tamaño del archivo, si no que la posible opción es borrarlo y crear uno nuevo con la información correspondiente.
Técnicas fundamentales para asignación de huecos:
¨ Best Fit(mejor ajuste): asigna el fichero al hueco en el que mejor encaje.
¨ First Fit(primer ajuste): asigna el fichero al primer hueco libre. Es más rápido ya que no inspecciona todos los huecos.
¨ Worst Fit(peor ajuste): asigna el fichero al hueco que deje un fragmento más grande.
1.2. Asignación mediante lista enlazada
En este tipo de asignación, la secuencia de bloques se mantiene como una lista simplemente enlazada. La primera palabra de cada bloque es un índice al siguiente bloque y se debe añadir una marca de fin de bloque al final del último bloque. En el directorio basta con indicar el primer bloque del archivo. Los bloques pueden estar dispersos en el disco.
Ventajas:
¨ Se evita la fragmentación externa y se pueden aprovechar todos los bloques del disco.
¨ No se necesita espacio adicional para estructuras que almacenen listas de bloques.
¨ El archivo puede crecer dinámicamente cuando hay bloques de discos libres.
¨ Al igual que con la asignación adyacente, es muy seguro ya que no hay estructuras globales de almacenamiento.
¨ Basta almacenar el puntero al primer bloque del archivo.
Desventajas:
¨ El acceso directo no es efectivo, es muy lento. En archivos grandes resulta totalmente inoperante.
¨ El tamaño de la información en cada bloque ya no es una potencia de 2.
¨ Espacio requerido para los punteros de enlace.
Muchos sistemas operativos desarrollados por Technical Systems Consultants (originalmente de West Lafayette Indiana y después de Raleigh, Carolina del Norte) usaron listas enlazadas simples como estructuras de ficheros. Un directorio de entrada apuntaba al primer sector de un fichero y daba como resultado porciones de la localización del fichero mediante punteros. Los sistemas que utilizaban esta técnica incluían Flex (para el Motorola 6800 CPU), mini-Flex (la misma CPU) y Flex9 (para el Motorola 6809 CPU). Una variante desarrollada por TSC se comercializó a Smoke Signal Broadcasting en California, usando listas doblemente enlazadas del mismo modo.
No hay comentarios:
Publicar un comentario