El segundo mtodo para almacenar archivos es mantener cada uno
como una lista enlazada de bloques de disco.
A diferencia de la asignacin contigua, en este mtodo se puede
utilizar cada bloque del disco. No se pierde espacio debido a la fragmentacin del disco.
La cantidad de almacenamiento de datos en un bloque ya no es
potencia de dos, debido a que el apuntador ocupa unos cuantos bytes. ASIGNACION DE LISTA ENLAZADA UTILIZANDO UNA TABLA EN MEMORIA Ambas desventajas de la asignacin de lista enlazada se pueden eliminar si tomamos la palabra del apuntador de cada bloque de disco y la colocamos en una tabla en memoria. La principal desventaja de este mtodo es que toda la tabla debe estar en memoria todo el tiempo para que funcione. Con un disco de 200GB y un tamao de bloque de 1KB, la tabla necesita 200 millones de entradas para cada uno de los 200 millones de bloques de disco. IMPLEMENTACION DE DIRECTORIOS Antes de poder leer un archivo. Este debe abrirse. Cuando se abre el sistema operativo utiliza el nombre de la ruta suministrado por el usuario para localizar la entrada de directorio. Esta entrada provee la informacin necesaria para encontrar los bloques de disco. Un directorio consiste en una lista de entradas de tamao fijo, una por archivo, que contienen un nombre de archivo, una estructura de los atributos y una o mas direcciones de disco que indiquen donde estn los bloques de disco. ARCHIVOS COMPARTIDOS Cuando hay varios usuarios trabajando en conjunto en un proyecto muchas veces se necesitan compartir archivos. Como resultado es conveniente que aparezca un archivo compartido en forma simultanea en distintos directorios que pertenezcan a distintos usuarios. SISTEMAS DE ARCHIVOS ESTRUCTURADOS POR REGISTRO Los cambios en la tecnologa estn ejerciendo presin sobre los sistemas de archivos actuales, en especial, las CPUs se hacen mas veloces, los discos se estn haciendo mas grandes y baratos (pero no rpidos) y las memorias estn aumentando su tamao, el nico parmetro es que no estn teniendo avances en el tiempo de bsqueda de disco. Ocasiona cuello de botella. La idea que impulso el diseo del LFS es que, a medida que las CPUs se vuelvan mas rpidas y las memorias RAM se hacen mas grandes, las caches de disco tambin se incrementa, ahora es posible satisfacer las peticiones de lectura directamente del cache del sistema de archivos. SISTEMA DE ARCHIVOS POR BITACORA Aunque los sistemas de archivos estructurados por registro son una idea interesante , no se utilizan ampliamente, debido en parte a su alta incompatibilidad con los sistemas de archivos existentes. Una de las ideas inherentes es la robustez frente a las fallas, se pueden aplicar con facilidad a sistemas de archivos mas convencionales. Operacin en unix requiere 3 pasos: Quitar el archivo de su directorio. Liberar el nodo-i y pasarlo a la reserva de nodos-i libres. Devolver todos los bloques de disco a la reserva de bloques de disco libre. SISTEMA DE ARCHIVOS VIRTUALES Hay muchos sistemas de archivos distintos en uso. Un sistema Windows puede tener un sistema de archivos NTFS principal, pero tambin una unidad o particin, FAT-32 o FAT-16, heredada que contenga datos antiguos, pero aun necesarios y de vez en cuando tambin se puede requerir un CD, o DVD. Windows identifica a cada uno con una letra de unidad distinta, como en C: y D:, ETC. Cuando un proceso abre un archivo, la letra de la unidad esta presente en forma explicita o implcita de manera que Windows sepa a cual sistema de archivos debe pasar la solicitud. ADMINISTRACION Y OPTIMIZACION DE SISTEMAS DE ARCHIVOS Hacer que el sistema de archivos funcione es una cosa; hacerlo que funcione de manera eficiente y robusta en la vida real es algo muy distinto. En las siguientes secciones analizaremos algunas de las cuestiones involucradas en la administracin de discos. ADMINISTRACION DEL ESPACIO EN DISCO Por lo general los archivos se almacenan en disco. Asi que la administracin del espacio en disco es una cuestin importante para los diseadores de sistema de archivos . Hay 2 estrategias generalmente posibles para almacenar un archivo de n bytes consecutivos de espacio en disco el archivo se divide en varios bloques contiguos. TAMAO EN BLOQUE Una vez que se ha decidido almacenar archivos en bloques de tamao fijo, surge la pregunta acerca de que tan grande debe ser el bloque. Dada la forma en que estn organizados los discos. El sector, la pista y el cilindro son candidatos obvios para la unidad de asignacin. Tener un tamao de bloque grande significa que cada archivo ocupa un cilindro completo. Tambin significa que los pequeos archivos desperdician una gran cantidad de espacio en disco. Por otro lado un tamao de bloque pequeo significa que la mayora de los archivos abarcan varios bloques y por ende necesitan varias bsquedas y retrasos rotacionales para leerlos, lo cual reduce el rendimiento. REGISTRO DE BLOQUES LIBRES Una vez que se ha elegido un tamao, la siguiente cuestin es como llevar registro de los bloques libres. Hay 2 mtodos utilizados ampliamente, el primero consiste en utilizar una lista enlazada de bloques de disco, donde cada bloque contiene tantos nmeros de bloques de discos libres como pueda. Con un bloque de 1KB y un numero de boque de disco de 32bits, cada bloque en la lista de bloques libres contiene los nmeros de 255 bloques libres. CUOTAS DE DISCO Para evitar que los usuarios ocupen demasiado espacio en disco, los sistemas operativos multiusuario proporcionan un mecanismo para imponer las cuotas de disco. La idea es que el administrador del sistema asigne a cada usuario una cantidad mxima de archivos y bloques para que el sistema operativos asegure de que los usuarios no excedan su sus cuotas . RESPALDOS DEL SISTEMA DE ARCHIVOS La destruccin de un sistema de archivos es a menudo un desastre aun mayor que la destruccin de una computadora. Si el sistema de archivos de un pc se pierde de manera irrevocable ya sea debido a hardware o software, ser difcil restaurar toda la informacin, llevara mucho tiempo y en algunos casos imposible.