Moving Grave1:(MG#_1.X02):21/11/1995 << Back To Moving Grave1


FAT (File Alocation Table) ************************** 2. La tabla de localización de ficheros --------------------------------------- El espacio disponible en el disco se organiza en forma de clusters (cada clúster consta de 2 sectores, en el formato estándar del DOS) que constituyen la unidad de espacio más pequeña que puede asignarse a un archivo. Esto quiere decir que, por pequeño que sea un archivo (FILE... 8-D, vio!) DOS, ocupa al menos 2 sectores (es decir 1 Kbyte en el formato estándar de 512 por sector). Es recomendable por tanto agrupar la información en lo posible para evitar que se desperdicie espacio en blanco en el diskette. 2.1 Formato de almacenamiento ----------------------------- Para conocer en cada momento el estado de los clústeres del disco, (dispo- nibles, erróneos, asignados a algún archivo, etc), se dispone de una Tabla de localización de Archivos (FAT), organizada como una tabla de 4096 elementos, numerados del 0 al 4096 (0 a FFF hex.). Estos 3 digitos hexadecimales se guardan en la FAT de una manera aparente- mente artificiosa, compartiendo cada 2 elementos de la FAT 3 bytes (1½+1½=3), pero no en el orden que seria de esperar. Por ejemplo, si quisiéramos almacenar los 2 elementos siguientes: A B C hex D E F hex aparecerian agrupados de la siguiente forma: ─────────────────────────── BC FA DE ─────────────────────────── 1ºbyte 2ºbyte 3ºbyte ─────────────────────────── En los diskettes estándares, la FAT consta de 2 sectores y aparecen repe- tidas de forma que no se pierda la información del diskette en el caso de que una de las copias de la FAT quede destruida. 2.2 Códigos de clústers y cadenas de localización ------------------------------------------------- La FAT comienza con los 3 bytes siguientes: ────────────────────── XX FF FF ────────────────────── donde xx es un código de formato que puede tomar los siguientes valores: FF = Doble cara, simple densidad (8 sectores/pista) FE = Simple cara, simple densidad (8 sectores/pista) FD = Doble cara, doble densidad (9 sectores/pista) FC = Simple cara, doble densidad (9 sectores/pista) A continuación aparecerán los elementos asociados a cada uno de los clusters del disco, numerados desde el 2 hasta el 355 (en el caso estandar,do- ble cara, doble densidad). El cluster Nº 1 a los sectores 13 y 14 del diskette (pista 0, cara 1, sectores 4 y 5) el Nº 2 a los sectores 15 y 16 (pista 0 ,- cara 1 , sectores 6 y 7) y asi sucesivamente. Los 12 primeros sectores del disco no forman parte del espacio disponible, sino que estan destinados a al- macenar el registro de arranque (pista 0, cara 0, sector 1), las 2 copias de la FAT (pista 0, cara 0, sectores 2, 3, 4, y 5, dependiendo del tamaño del diskette o bien del HD) y los sectores de directorios a continuación de la ul- tima copia de la FAT. Para determinar el largo exacto de la 2 copias de la FAT solo hay que leer en el BOOT SECTOR el registro correspondiente a los SECTORES POR FAT. Los elementos asociados a cada cluster pueden tomar los siguientes valores: Códigos hex. Significado 000 El cluster esta disponible para ser ocupado. 002 a FF0 El cluster correspondiente forma parte del espacio asignado a un archivo. FF7 El cluster es inutilizable debido a algun error. FFF El cluster es el ultimo de la cadena de clusters asignados a un archivo. Con estos códigos se pueden componer lo que se conoce como Cadenas de localización de archivos cuya estructura es la siguiente: en el directorio del disco, que estudiaremos más adelante existe información asociada a cada archivo que indica cual es el Nº del cluster en el cual comienza el archivo. Si el elmento correspondiente de la FAT es un codigo comprendido en- tre 002 y FF0 hex., el cluster correspondiente es el siguiente cluster asigna- do al archivo. Esta cadena continua hasta que encontremos un codigo FFF hex. que indique que se trata del ultimo cluster asignado al archivo. -=-=-=-=-=-=-=-=-=-=-=-=- END OF THIS PART