Características del sistema de archivos gordos. sistema de archivos gordo. Descripción del sistema de archivos FAT16

Antes de la llegada del sistema operativo Microsoft Windows NT, los usuarios de computadoras personales rara vez tenían el problema de elegir un sistema de archivos. Todos los propietarios de sistemas operativos (SO) MS-DOS y Microsoft Windows utilizaron una de las variedades del sistema de archivos llamado FAT (FAT-12, FAT-16 o FAT-32).

Ahora la situación ha cambiado. Al instalar el sistema operativo Microsoft Windows NT/2000/XP, al formatear un disco, debe elegir entre tres sistemas de archivos: FAT-16, FAT-32 o NTFS.

En este artículo, hablaremos sobre la estructura interna de los sistemas de archivos enumerados, consideraremos sus desventajas y ventajas inherentes. Armado con este conocimiento, podrá tomar una decisión informada a favor de un sistema de archivos particular para Microsoft Windows.

Brevemente sobre el sistema de archivos FAT

El sistema de archivos FAT apareció en los albores del desarrollo de las computadoras personales y originalmente estaba destinado a almacenar archivos en disquetes.

La información se almacena en discos y disquetes en porciones, en sectores de 512 bytes. Todo el espacio de un disquete se dividía en regiones de una longitud fija, llamadas grupos. Un clúster puede contener uno o más sectores.

Cada archivo ocupa uno o más clústeres, posiblemente no contiguos. Los nombres de los archivos y otra información sobre los archivos, como el tamaño y la fecha de creación, se encuentran en el área inicial del disquete dedicada al directorio raíz.

Además del directorio raíz, se pueden crear otros directorios en el sistema de archivos FAT. Junto con el directorio raíz, forman un árbol de directorios que contiene información sobre archivos y directorios. En cuanto a la ubicación de los clústeres de archivos en el disco, esta información se almacena en el área inicial del disquete, denominada tabla de asignación de archivos (File Allocation Table, FAT).

Para cada grupo, la tabla FAT tiene su propia celda individual, que almacena información sobre cómo se utiliza este grupo. Por lo tanto, la tabla de asignación de archivos es una matriz que contiene información sobre los clústeres. El tamaño de esta matriz está determinado por la cantidad total de clústeres en el disco.

El directorio almacena el número del primer clúster asignado a un archivo o subdirectorio. Los números de los clústeres restantes se pueden encontrar utilizando la tabla de asignación de archivos FAT.

Al desarrollar el formato de tabla FAT, la tarea era ahorrar espacio, porque El disquete tiene un tamaño muy pequeño (de 180 KB a 2,44 MB). Por lo tanto, solo se asignaron 12 dígitos binarios para almacenar los números de grupo. Como resultado, la tabla FAT estaba tan apretada que ocupaba solo un sector del disquete.

La tabla FAT contiene información crítica sobre la ubicación de directorios y archivos. Si la tabla FAT se corrompe como resultado de una falla de hardware, software o malware, se perderá el acceso a los archivos y directorios. Por lo tanto, a efectos de la red de seguridad, normalmente se crean dos copias de la tabla FAT en el disco.

Varias versiones de FAT

Después de la llegada de los discos duros de gran capacidad (en aquellos días, los discos de 10 a 20 MB de tamaño se consideraban grandes), la cantidad de clústeres aumentó y 12 bits no eran suficientes para almacenar sus números. Se desarrolló un nuevo formato de tabla de asignación de archivos de 16 bits, donde se asignaron dos bytes para almacenar el número de un grupo. El antiguo sistema de archivos diseñado para disquetes se conoció como FAT-12 y el nuevo se convirtió en FAT-16.

La tabla FAT-16 ampliada ya no cabe en un sector, sin embargo, con grandes volúmenes de disco, este inconveniente no jugó un papel importante. Como antes, por seguridad, se almacenaron en el disco dos copias de la tabla FAT.

Sin embargo, cuando el volumen del disco comenzó a medirse en cientos de MB e incluso en gigabytes, el sistema de archivos FAT-16 volvió a ser ineficiente. Para que los números de clúster quepan en 16 dígitos, al formatear discos grandes, debe aumentar el tamaño del clúster a 16 KB o incluso más. Esto causó problemas cuando se necesitaba almacenamiento en disco un número grande pequeños archivos. Dado que el espacio de almacenamiento de archivos se asigna en clústeres, incluso un archivo muy pequeño tiene que asignar demasiado espacio en disco.

Como resultado, se hizo otro, aparentemente, el último intento de mejorar el sistema de archivos FAT: el tamaño de celda de la tabla de asignación de archivos se aumentó a 32. Esto hizo posible formatear discos de cientos de MB y unidades de GB usando un tamaño de racimo relativamente pequeño. El nuevo sistema de archivos se conoció como FAT-32.

Estándar 8.3

Antes de la llegada de Microsoft Windows 95, los usuarios de computadoras personales se veían obligados a usar el muy inconveniente "estándar 8.3" para nombrar archivos, en el que el nombre del archivo tenía que constar de 8 caracteres más 3 caracteres de extensión. Esta limitación fue impuesta no solo por la interfaz de programación del sistema operativo MS-DOS, sino también por la estructura de entrada de directorio del sistema de archivos FAT.

Después de modificar la estructura de las entradas del directorio, prácticamente se eliminó el límite en la cantidad de caracteres en un nombre de archivo. El nombre del archivo ahora puede tener hasta 255 caracteres, lo que obviamente es suficiente en la mayoría de los casos. Sin embargo, este sistema de archivos FAT modificado se volvió incompatible con el sistema operativo MS-DOS, así como con el shell de Microsoft Windows versión 3.1 y 3.11 que se ejecuta en su entorno.

Puede leer más sobre los formatos de estructuras FAT internas en nuestro artículo "Recuperación de datos en particiones FAT" publicado en este sitio.

Limitaciones del sistema de archivos FAT

Al decidir si usar el sistema de archivos FAT para formatear una unidad, debe tener en cuenta sus limitaciones inherentes. Estas restricciones se refieren, en primer lugar, al tamaño máximo de una unidad FAT, así como al tamaño máximo de un archivo ubicado en esta unidad.

El tamaño máximo de una unidad lógica FAT-16 es de 4 GB, que es muy pequeño para los estándares modernos. Sin embargo, Microsoft no recomienda crear discos FAT-16 de más de 200 MB, ya que por lo tanto, el espacio en disco se utilizará de manera muy ineficiente.

En teoría, el tamaño máximo de una unidad FAT-32 puede ser de 8 TB, lo que debería ser suficiente para implementar cualquier aplicación moderna. Este valor se obtiene multiplicando el número máximo de clústeres (268 435 445) por el tamaño máximo de clúster permitido en FAT-32 (32 KB).

Sin embargo, en la práctica la situación se ve un poco diferente.

Debido a limitaciones internas, la utilidad ScanDisk en Microsoft 95/98 no puede funcionar con discos de más de 127,53 GB. Hace un año, tal limitación no habría causado problemas, pero hoy en día ya han aparecido en el mercado discos económicos de 160 GB, y pronto su volumen será aún mayor.

En cuanto a los nuevos sistemas operativos Microsoft Windows 2000/XP, no pueden crear particiones FAT-32 de más de 32 GB. Si necesita particiones de este tamaño o más, Microsoft le sugerirá que utilice el sistema de archivos NTFS.

Otra limitación significativa de FAT-32 se impone en el tamaño de los archivos: no puede exceder los 4 GB. Esta limitación afectará, por ejemplo, al grabar videoclips en disco o al crear archivos de base de datos de gran tamaño.

Un directorio FAT-32 puede almacenar un máximo de 65534 archivos.

Desventajas de FAT

Además de las limitaciones discutidas anteriormente, el sistema de archivos FAT tiene otras desventajas. Aparentemente, lo más significativo es la ausencia total de herramientas de control de acceso, así como la posibilidad de perder información sobre la ubicación de todos los archivos después de la destrucción de una tabla FAT bastante compacta y su copia.

Al iniciar la computadora desde un disquete del sistema, un atacante puede acceder fácilmente a cualquier archivo almacenado en discos con el sistema de archivos FAT. No será difícil para él copiar estos archivos a un dispositivo ZIP o algún otro medio de almacenamiento externo.

Cuando se usa FAT en discos de servidor, es imposible proporcionar una diferenciación confiable y flexible del acceso de los usuarios a los directorios. Por eso, y también por su baja tolerancia a fallas, FAT no se usa comúnmente en los servidores.

La presencia de tablas de asignación de archivos FAT compactas hace que este sistema de archivos sea un objetivo vulnerable para los virus informáticos: basta con destruir el fragmento inicial de un disco FAT y se perderán casi todos los datos.

sistema de archivos NTFS

El moderno sistema de archivos NTFS, desarrollado por Microsoft para su sistema operativo Microsoft Windows NT, carece de las limitaciones y desventajas de FAT. Desde sus inicios, el sistema de archivos NTFS emergente ha experimentado varias mejoras, la más reciente de las cuales (en el momento de escribir este artículo) se ha realizado en Microsoft Windows XP.

En el sistema de archivos NTFS, todos los atributos de archivo (nombre, tamaño, ubicación de las extensiones de archivo en el disco, etc.) se almacenan en el archivo de sistema $MFT oculto. Para almacenar información sobre cada archivo (y directorio) en $MFT se asigna de uno a varios KB. Con una gran cantidad de archivos almacenados en el disco, el tamaño del archivo $MFT puede alcanzar decenas o incluso cientos de MB.

Los archivos pequeños (del orden de cientos de bytes) se almacenan directamente en $MFT, lo que acelera significativamente el acceso a ellos.

Tenga en cuenta, sin embargo, que la sobrecarga de NTFS para almacenar información del sistema, aunque supera la sobrecarga de FAT, aún no es muy grande en comparación con el volumen de los discos modernos. Debido al hecho de que el archivo $MFT generalmente se encuentra más cerca del centro del disco, la destrucción de las primeras pistas de un disco NTFS no tiene consecuencias tan fatales como la destrucción de las áreas iniciales de un disco FAT.

El sistema de archivos NTFS tiene muchas características que no se encuentran en FAT. Le permiten lograr mucha más flexibilidad, confiabilidad y seguridad en comparación con FAT.

Enumeremos algunas de las características más interesantes de NTFS en las versiones modernas.

Herramientas de control de acceso

Medios de diferenciación acceso NTFS son bastante flexibles y le permiten administrar el acceso a nivel de archivos y directorios individuales, otorgando (o bloqueando) el acceso a ellos a usuarios individuales o grupos de usuarios.

Si bien a primera vista puede parecer que las herramientas de control de acceso son necesarias solo para servidores de archivos, también serán necesarias si varios usuarios tienen acceso a la computadora.

Cifrado de archivos

Las herramientas de control de acceso mencionadas anteriormente serán inútiles si el disco NTFS físico cae en manos de un atacante. Con las utilidades modernas, el contenido de dicho disco se puede leer fácilmente en cualquier entorno de sistema operativo: DOS, Microsoft Windows o Linux.

Para proteger los archivos de usuario del acceso no autorizado, los sistemas operativos Microsoft Windows 2000/XP brindan cifrado adicional de archivos almacenados en particiones NTFS. Y aunque la fuerza de dicho cifrado puede no ser muy alta, es suficiente en la mayoría de los casos.

RAID de software

Usando NTFS, puede crear una matriz de software llamada RAID 1 (Conjunto reflejado). Esta matriz, compuesta por dos elementos físicos o unidades lógicas del mismo volumen, le permite duplicar (o, como dicen, "espejar") archivos.

Una matriz de este tipo puede guardar sus archivos en caso de una falla física de uno de los discos que componen la matriz, por lo que a menudo se usa para aumentar la confiabilidad del sistema de discos.

Conjuntos de volumen

El sistema de archivos NTFS le permite combinar varias particiones ubicadas en uno o más discos físicos en un volumen lógico. Esto puede ser necesario, por ejemplo, para almacenar archivos de base de datos grandes que no caben en un disco físico o para crear un directorio con un volumen total de archivos que exceda el tamaño del disco físico.

Los conjuntos creados a partir de varias particiones o discos físicos se denominan Conjunto de volúmenes (en la terminología de Microsoft Windows NT) o Volumen distribuido (en la terminología de Windows 2000/XP).

Archivos de embalaje

Para ahorrar espacio en disco, puede utilizar la capacidad de NTFS para empaquetar (comprimir) archivos. Además, NTFS le permite crear los llamados archivos dispersos (dispersos) que contienen áreas de datos nulos. Dichos archivos pueden ser grandes pero ocupan poco espacio en el disco porque solo se almacenan los bytes significativos del archivo.

Tenga en cuenta que empaquetar archivos resultará en cierta ralentización. Esta circunstancia, sin embargo, no siempre importará. Por ejemplo, los documentos de oficina se pueden empaquetar sin una disminución notable de la velocidad, pero esto no se puede decir de los archivos de bases de datos a los que accede una gran cantidad de usuarios al mismo tiempo. Con discos relativamente económicos y de alta capacidad en el mercado, los medios de empaque solo deben usarse cuando realmente se necesitan. Sin embargo, esto también se aplica a otras características de NTFS.

Archivos multiproceso

Si es necesario, se pueden almacenar varios flujos de información en un archivo grabado en un disco NTFS. Esto hace posible, en particular, proporcionar archivos de documentos con información adicional, almacenar varias versiones de documentos en un archivo (por ejemplo, en diferentes idiomas), almacenar código de programa y datos en secuencias separadas de un archivo, etc.

lazos duros

Los enlaces duros (hard links) le permiten asignar varios nombres diferentes a un archivo físico colocando estos nombres (es decir, enlaces al archivo) en diferentes directorios. Eliminar un enlace no elimina el archivo en sí. Solo cuando se destruyan todos los enlaces del archivo, se eliminará el archivo en sí.

Tenga en cuenta que estas características son típicas de los sistemas de archivos utilizados en sistemas operativos similares a Unix, por ejemplo, en Linux, FreeBSD, etc.

Anular puntos

Los objetos del sistema NTFS, como los puntos de análisis, le permiten anular cualquier archivo o directorio. En este caso, por ejemplo, los archivos o directorios anulados que se utilizan con poca frecuencia pueden almacenarse en cinta magnética y cargarse en el disco solo cuando sea necesario.

Transiciones

Usando transiciones NTFS, puede montar otro disco duro o CD en el directorio de la unidad. Esta función existía originalmente en los sistemas de archivos de los sistemas operativos similares a Unix.

Cuota de espacio en disco

El sistema de archivos NTFS, utilizado en Microsoft Windows 2000/XP, le permite cotizar o limitar el espacio en disco disponible para los usuarios. Esta función es especialmente útil cuando se crean servidores de archivos.

Registro de cambios

En el curso de su trabajo, el sistema operativo realiza varias acciones en los archivos (creación, modificación, eliminación). Todos estos cambios se almacenan en un diario especial creado en el volumen NTFS y pueden ser utilizados por programas de copia de seguridad, sistemas de indexación, etc. El registro de cambios aumenta la confiabilidad del sistema de archivos, lo que permite, en algunos casos, continuar trabajando después de fallas no críticas del sistema operativo y el hardware. Aunque, por supuesto, las fallas más graves resultan en la necesidad de recuperar datos de respaldo o utilizando utilidades especiales de recuperación de datos.

Limitaciones de NTFS

A pesar de la abundancia de funciones, el sistema de archivos NTFS también tiene algunas limitaciones. Sin embargo, en la mayoría de los casos no juegan un papel significativo.

El tamaño máximo de una unidad lógica NTFS es de aproximadamente 18 446 744 TB, que obviamente es suficiente para todas las aplicaciones modernas, así como para las aplicaciones que aparecerán en un futuro próximo. El tamaño máximo de archivo es aún mayor, por lo que esta limitación tampoco es significativa.

No hay límite para la cantidad de archivos almacenados en un solo directorio NTFS, por lo que esto también tiene una ventaja sobre FAT.

Comparación de NTFS y FAT para la velocidad de acceso a archivos

En términos de futuro, funcionalidad, seguridad y confiabilidad, NTFS está muy por delante de FAT. Sin embargo, comparar el rendimiento de estos sistemas de archivos no da un resultado inequívoco, ya que el rendimiento depende de muchos factores diferentes.

Debido a que FAT es mucho más simple en operación y estructuras internas que NTFS, es probable que FAT sea más rápido cuando se trata de directorios pequeños. Sin embargo, si el contenido del directorio es tan pequeño que cabe por completo en una o más entradas del archivo $MFT, o viceversa, si el directorio es muy grande, NTFS "ganará".

Lo más probable es que la palma vaya a NTFS cuando busque archivos o directorios inexistentes (porque no requiere un escaneo completo del contenido del directorio), cuando acceda a archivos pequeños (del orden de cientos de bytes), y también en caso de fragmentación severa del disco.

Para aumentar el rendimiento de NTFS, puede aumentar el tamaño del clúster, pero esto puede conducir a un desperdicio del espacio en disco cuando se almacena una gran cantidad de archivos que tienen más de 1-2 KB y ascienden a decenas de KB. Al aumentar el tamaño del clúster a 64 KB, puede obtener la máxima mejora en el rendimiento, pero tendrá que renunciar a empaquetar archivos y utilizar utilidades de desfragmentación.

Empaquetar archivos ubicados en discos pequeños (alrededor de 4 GB) puede aumentar el rendimiento, mientras que comprimir discos grandes puede disminuir el rendimiento. En cualquier caso, el embalaje provocará una carga adicional en la CPU.

Entonces, ¿qué elegir: FAT o NTFS?

Como puede ver, NTFS tiene numerosas ventajas sobre FAT y sus limitaciones son insignificantes en la mayoría de los casos. Si se enfrenta a la elección de un sistema de archivos, considere usar NTFS primero y FAT en segundo lugar.

¿Cuáles podrían ser las barreras para reemplazar FAT con NTFS?

El obstáculo más serio es la necesidad de utilizar Microsoft Windows NT/2000/XP. Este sistema operativo requiere al menos 64 MB para funcionar correctamente. memoria de acceso aleatorio y un procesador con una frecuencia de reloj de al menos 200-300 MHz. Sin embargo, estos requisitos no solo los cumplen los equipos muy antiguos que no son capaces de ejecutar versiones modernas de Microsoft Windows.

Si su computadora puede funcionar con Microsoft Windows 2000/XP y no tiene una sola aplicación diseñada exclusivamente para Microsoft Windows 95/98/ME, le recomendamos que cambie a un nuevo sistema operativo lo antes posible, reemplazando esta FAT para NTFS.

Al mismo tiempo, también obtendrá un aumento notable en la confiabilidad del trabajo, porque. después de instalar todos los paquetes de servicios necesarios, así como las versiones correctas de los controladores de dispositivos periféricos, Microsoft Windows 2000/XP funcionará de manera muy estable.

En algunos casos, debe combinar varios sistemas de archivos dentro de un disco físico. Por ejemplo, si su computadora tiene tres sistemas operativos Microsoft Windows ME, Microsoft Windows XP y Linux, puede crear tres sistemas de archivos: FAT, NTFS y Ext2FS. El primero de ellos será "visible" cuando se trabaje en Microsoft Windows ME y Linux, el segundo, solo en Microsoft Windows XP, y el tercero, solo en Linux (tenga en cuenta que en LINUX también existe la posibilidad de acceder a particiones NTFS).

Pero si está creando un servidor (archivo, base de datos o Web) basado en Microsoft Windows NT/2000/XP, entonces NTFS es la única opción razonable. Solo en este caso será posible lograr la estabilidad, confiabilidad y seguridad necesarias del servidor.

También existe una opinión generalmente aceptada (y, en nuestra opinión, errónea) de que los usuarios de ordenadores domésticos no necesitan ni el sistema operativo Microsoft Windows NT/2000/XP ni el sistema de archivos NTFS.

Por supuesto, si la computadora se usa exclusivamente para juegos, por razones de compatibilidad, es mejor instalar Microsoft Windows 98/ME y formatear las unidades en FAT. Sin embargo, si trabaja no solo en la oficina, sino también en casa, es mejor utilizar soluciones modernas, profesionales y confiables. Esto permitirá, en particular, organizar la protección contra la intrusión en su computadora a través de Internet, restringir el acceso a directorios y archivos con datos críticos y también aumentar las posibilidades de recuperación exitosa de la información en caso de varios tipos de fallas.

Introducción

2.1 Sistema FAT16

2.2 Sistema FAT32

2.3 Comparación de FAT16 y FAT32

3.1 sistema NTFS

3.2 Comparación de NTFS y FAT32

Conclusión

Bibliografía

Introducción

Actualmente, en promedio, se graban varias decenas de miles de archivos en un disco. ¿Cómo entender toda esta diversidad para abordar con precisión el expediente? El propósito del sistema de archivos es una solución efectiva a este problema.

El sistema de archivos, desde el punto de vista del usuario, es el "espacio" en el que se colocan los archivos. Y como término científico, es una forma de almacenar y organizar el acceso a los datos en un soporte de información o su sección. La presencia de un sistema de archivos le permite determinar el nombre del archivo, dónde se encuentra. Dado que la información se almacena principalmente en discos en computadoras compatibles con IBM PC, los sistemas de archivos utilizados en ellos determinan la organización de los datos en los discos (más precisamente, en los discos lógicos). Veremos el sistema de archivos FAT.

sistema de archivos fat ntfs

1. Historia de la creación y características generales sistema de archivos FAT

El sistema de archivos FAT (Tabla de asignación de archivos) fue desarrollado por Bill Gates y Mark McDonald en 1977 y se usó originalmente en el sistema operativo 86-DOS. Para lograr la portabilidad de los programas del sistema operativo CP/M a 86-DOS, mantuvo las restricciones anteriores sobre nombres de archivos. 86-DOS fue adquirido más tarde por Microsoft y se convirtió en la base de MS-DOS 1.0, lanzado en agosto de 1981. FAT se diseñó para funcionar con disquetes de menos de 1 MB e inicialmente no admitía discos duros. FAT actualmente admite archivos y particiones de hasta 2 GB de tamaño.

FAT utiliza las siguientes convenciones de nomenclatura de archivos:

el nombre debe comenzar con una letra o un número y puede contener cualquier carácter ASCII excepto espacios y "/\ :; |=,^*?

El nombre tiene hasta 8 caracteres, seguido de un punto y una extensión opcional de hasta 3 caracteres.

El caso de los caracteres en los nombres de archivo no se distingue y no se conserva.

La estructura de la partición FAT se muestra en la Tabla 1.1 El bloque de parámetros del BIOS contiene la información requerida por el BIOS sobre las características físicas disco duro. El sistema de archivos FAT no puede controlar cada sector por separado, por lo que combina sectores adyacentes en grupos. Esto reduce el número total de unidades de almacenamiento que el sistema de archivos debe controlar. El tamaño del clúster en FAT es una potencia de dos y está determinado por el tamaño del volumen al formatear el disco (Tabla 1.2). Un clúster es el espacio mínimo que puede ocupar un archivo. Esto da como resultado que se desperdicie algo de espacio en disco. El sistema operativo incluye varias utilidades (DoubleSpace, DriveSpace) diseñadas para compactar datos en un disco.

Pestaña. 1.1 - Estructura de partición FAT

Bloque de parámetros del BIOS del sector de arranque (BPB) FATFAT (copia) Área del archivo del directorio raíz

FAT obtuvo su nombre de la tabla de asignación de archivos del mismo nombre. La tabla de asignación de archivos almacena información sobre clústeres de discos lógicos. Cada grupo en FAT tiene una entrada separada que muestra si está libre, ocupado con datos de archivo o marcado como malo (dañado). Si el grupo está ocupado por un archivo, la dirección del grupo que contiene la siguiente parte del archivo se indica en la entrada correspondiente en la tabla de asignación de archivos. Debido a esto, FAT se denomina sistema de archivos de lista enlazada. La versión original de FAT, desarrollada para DOS 1.00, usaba una tabla de asignación de archivos de 12 bits y admitía particiones de hasta 16 MB (se puede crear un máximo de dos particiones FAT en DOS). Para admitir discos duros de más de 32 MB, la profundidad de bits FAT se ha aumentado a 16 bits y el tamaño del clúster a 64 sectores (32 KB). Dado que a cada clúster se le puede asignar un número único de 16 bits, FAT admite un máximo de 216 o 65536 clústeres por volumen.

Tabla 1.2 - Tamaños de conglomerados

Tamaño de partición Tamaño de clúster Tipo de FAT< 16 Мб4 КбFAT1216 Мб - 127 Мб2 КбFAT16128 Мб - 255 Мб4 КбFAT16256 Мб - 511 Мб8 КбFAT16512 Мб - 1023 Мб16 КбFAT161 Гб - 2 Гб32 КбFAT16

Debido a que el registro de inicio es demasiado pequeño para almacenar el algoritmo de búsqueda de archivos del sistema en el disco, los archivos del sistema deben estar en una ubicación específica para que el registro de inicio los encuentre. La posición fija de los archivos del sistema al comienzo del área de datos impone un límite estricto en el tamaño del directorio raíz y la tabla de asignación de archivos. Como resultado, la cantidad total de archivos y subdirectorios en el directorio raíz de una unidad FAT está limitada a 512.

Cada archivo y subdirectorio en FAT tiene una entrada de directorio de 32 bytes que contiene el nombre del archivo, sus atributos (archivo, oculto, sistema y solo lectura). ), fecha y hora de creación (o de los últimos cambios realizados), así como otra información (Tabla 1.3).

Tabla 1.3 - Elementos del catálogo

El sistema de archivos FAT siempre llena el espacio libre en disco secuencialmente de principio a fin. Al crear un archivo nuevo o expandir uno existente, busca el primer clúster libre en la tabla de asignación de archivos. Si en el curso del trabajo se eliminaron algunos archivos, mientras que otros cambiaron de tamaño, los grupos vacíos resultantes se dispersarán por el disco. Si los clústeres que contienen los datos del archivo no están en una fila, el archivo está fragmentado. Los archivos muy fragmentados reducen significativamente la eficiencia del trabajo, ya que los cabezales de lectura / escritura, al buscar el siguiente registro del archivo, deberán moverse de un área del disco a otra. Los sistemas operativos que admiten FAT suelen incluir utilidades especiales de desfragmentación de disco diseñadas para mejorar el rendimiento de las operaciones con archivos.

Otra desventaja de FAT es que su rendimiento depende en gran medida de la cantidad de archivos almacenados en un solo directorio. Con una gran cantidad de archivos (alrededor de mil), la operación de lectura de la lista de archivos en el directorio puede demorar varios minutos. Esto se debe al hecho de que en FAT un directorio tiene una estructura lineal desordenada y los nombres de los archivos en los directorios están en el orden en que fueron creados. Como resultado, cuantas más entradas hay en el directorio, más lentos funcionan los programas, ya que al buscar un archivo, es necesario buscar secuencialmente todas las entradas del directorio. Dado que FAT se diseñó originalmente para el sistema operativo DOS de un solo usuario, no permite almacenar información como la información del propietario o los permisos de acceso a archivos/directorios. Es el sistema de archivos más común y la mayoría de los sistemas operativos modernos lo admiten en un grado o más. otro. Debido a su versatilidad, FAT se puede utilizar en volúmenes que funcionan con diferentes sistemas operativos.

Aunque no hay barreras para usar cualquier otro sistema de archivos al formatear disquetes, la mayoría de los sistemas operativos usan FAT para compatibilidad. Esto puede explicarse en parte por el hecho de que la estructura FAT simple requiere menos espacio para almacenar datos de servicio que otros sistemas. Las ventajas de otros sistemas de archivos solo se notan cuando se utilizan en medios de más de 100 MB.

Cabe señalar que FAT es un sistema de archivos simple que no evita la corrupción de archivos debido al apagado anormal de la computadora. Los sistemas operativos que admiten FAT incluyen utilidades especiales que verifican la estructura y corrigen las inconsistencias en el sistema de archivos.

2. Características de los sistemas de archivos FAT16 y FAT32 y su comparación

.1 sistema FAT16

El sistema de archivos FAT 16, que es el sistema de archivos principal para los sistemas operativos DOS, Windows 95⁄98⁄Me, Windows NT⁄2000⁄XP, y también es compatible con la mayoría de los demás sistemas. FAT 16 es un sistema de archivos simple diseñado para unidades pequeñas y estructuras de directorios simples. El nombre proviene del nombre del método de organización de archivos - Tabla de asignación de archivos. Esta tabla se coloca al principio del disco. El número 16 significa que este sistema de archivos es de 16 bits: se utilizan 16 bits para direccionar clústeres. El sistema operativo utiliza la tabla de asignación de archivos para encontrar un archivo y determinar los grupos que ocupa ese archivo en el disco duro. Además, la tabla contiene información sobre clústeres libres y defectuosos. Para facilitar la comprensión del sistema de archivos FAT16, imagine la tabla de contenido de un libro y cómo trabaja con esta tabla de contenido, así es exactamente como funciona el sistema operativo con FAT 16.

Para leer un archivo, el sistema operativo debe encontrar la entrada en la carpeta por el nombre del archivo y leer el número del primer grupo del archivo. El primer grupo representa el comienzo del archivo. Luego es necesario leer el elemento FAT correspondiente al primer grupo del archivo. Si el elemento contiene una etiqueta, la última de la cadena, entonces no hay necesidad de buscar nada más: todo el archivo cabe en un grupo. Si el grupo no es el último, el elemento de la tabla contiene el número del siguiente grupo. El contenido del siguiente grupo debe leerse después del primero. Cuando se encuentra el último grupo de la cadena, si el archivo no ocupa todo el grupo, es necesario cortar los bytes adicionales del grupo. Los bytes sobrantes se recortan según la longitud del archivo almacenado en la entrada de la carpeta.

Para escribir un archivo, el sistema operativo debe realizar la siguiente secuencia de acciones. Se crea una descripción de archivo en un elemento de carpeta libre, luego se busca un elemento FAT libre y se coloca un enlace en la entrada de la carpeta. El primer grupo descrito por el elemento FAT encontrado está ocupado. Este elemento FAT se rellena con el número del siguiente grupo o el signo del último grupo de la cadena.

El sistema operativo actúa de tal manera que recopila cadenas de clústeres vecinos en orden ascendente. Está claro que el acceso a los clústeres sucesivos será mucho más rápido que a los clústeres dispersos aleatoriamente por el disco. En este caso, los clústeres ya ocupados y marcados en la FAT como malos se ignoran.

En el sistema de archivos FAT16, se reservan 16 bits para el número de clúster. por lo tanto cantidad máxima clústeres es 65525 y el tamaño máximo de clúster es 128 sectores. En este caso, el tamaño máximo de particiones o discos en FAT16 es de 4,2 gigas. Al formatear lógicamente un disco o una partición, el sistema operativo intenta usar el tamaño mínimo de clúster que dará como resultado un máximo de clústeres 65525. Obviamente, cuanto mayor sea el tamaño de la partición, mayor será el tamaño del clúster. Muchos sistemas operativos no funcionan correctamente con un clúster de 128 sectores. Como resultado, el tamaño máximo de una partición FAT16 se reduce a 2 gigabytes. Por lo general, cuanto mayor sea el tamaño del clúster, mayor será el espacio en disco desperdiciado. Esto se debe a que el último grupo ocupado por el archivo solo está parcialmente lleno. Por ejemplo, si se escribe un archivo de 17 KB en una partición con un tamaño de clúster de 16 KB, el archivo ocupará dos clústeres, el primero estará lleno, el segundo escribirá solo 1 KB de datos y los 15 restantes KB de espacio en el segundo clúster restante sin usar. lleno y no se podrá escribir en otros archivos. Si se escribe una gran cantidad de archivos pequeños en discos grandes, la pérdida de espacio en disco será significativa. La siguiente tabla 2.1 proporciona información sobre el posible desperdicio de espacio en disco para diferentes tamaños de partición.

Pestaña. 2.1.1 - Pérdida de espacio en disco

Tamaño de la particiónTamaño del clústerEspacio en disco desperdiciado127MB2Kb2%128-255MB4Kb4%256-511MB8Kb10%512-1023MB16Kb25%1024-2047MB32Kb40%2048-4096MB64Kb50%

Hay dos formas de reducir el espacio en disco desperdiciado. El primero es particionar el espacio del disco en pequeñas particiones con un tamaño de clúster pequeño. El segundo está usando el sistema de archivos FAT32<#"center">2.2 Sistema FAT32

El sistema de archivos FAT32 es un sistema de archivos más nuevo basado en el formato FAT y es compatible con Windows 95 OSR2, Windows 98 y Windows Millennium Edition. FAT32 usa ID de clúster de 32 bits, pero reserva los 4 bits superiores, por lo que el tamaño de ID de clúster efectivo es de 28 bits. Dado que el tamaño máximo de los clústeres FAT32 es de 32 KB, FAT32 teóricamente puede manejar volúmenes de 8 terabytes. Windows 2000 limita el tamaño de los nuevos volúmenes FAT32 a 32 GB, aunque admite volúmenes FAT32 existentes más grandes (creados en otros sistemas operativos). La mayor cantidad de clústeres compatibles con FAT32 le permite administrar discos de manera más eficiente que FAT 16. FAT32 puede usar clústeres de 512 bytes para volúmenes de hasta 128 MB.

El sistema de archivos FAT 32 en Windows 98 se usa como predeterminado. Este sistema operativo viene con un programa especial de conversión de disco de FAT 16 a FAT 32. Windows NT y Windows 2000 también pueden usar el sistema de archivos FAT y, por lo tanto, puede iniciar su computadora desde un disco DOS y tener acceso completo a todos los archivos. Sin embargo, algunas de las características más avanzadas de Windows NT y Windows 2000 las proporciona su propio sistema de archivos NTFS (NT File System). NTFS le permite crear particiones de hasta 2 TB en un disco (como FAT 32), pero, además, tiene funciones integradas de compresión de archivos, seguridad y auditoría que son necesarias cuando se trabaja en un entorno de red. Y Windows 2000 implementa soporte para el sistema de archivos FAT 32. sistemas Windows NT comienza en un disco FAT, pero al final de la instalación, los datos del disco se pueden convertir al formato NTFS al final de la instalación.

También puede hacer esto más tarde usando la utilidad Convertir. exe que viene con el sistema operativo. Una partición de disco convertida a NTFS se vuelve inaccesible para otros sistemas operativos. Para volver a DOS, Windows 3.1 o Windows 9x, debe eliminar la partición NTFS y crear una partición FAT en su lugar. Windows 2000 se puede instalar en una unidad con el sistema de archivos FAT 32 y NTFS.

Las capacidades de los sistemas de archivos FAT32 son mucho más amplias que las de FAT16. Su característica más importante es que admite discos de hasta 2047 GB y funciona con clústeres más pequeños, lo que reduce significativamente la cantidad de espacio en disco desperdiciado. Por ejemplo, un disco duro de 2 GB en FAT16 usa clústeres de 32 KB, mientras que FAT32 usa clústeres de 4 KB. Para mantener la compatibilidad con los programas, redes y controladores de dispositivos existentes siempre que sea posible, FAT32 se implementa con cambios mínimos en la arquitectura, las API, las estructuras de datos internas y el formato del disco. Pero, dado que el tamaño de los elementos de la tabla FAT32 ahora es de cuatro bytes, muchas estructuras de datos internas y de disco, así como las API, tuvieron que revisarse o ampliarse. Ciertas API en unidades FAT32 están bloqueadas para evitar que las utilidades de disco heredadas dañen el contenido de las unidades FAT32. La mayoría de los programas no se verán afectados por estos cambios. Existente herramientas y los controladores también funcionarán en unidades FAT32. Sin embargo, los controladores de dispositivos de bloque de MS-DOS (como Aspidisk.sys) y las utilidades de disco deben modificarse para admitir FAT32. Todas las utilidades de disco proporcionadas por Microsoft (Format, Fdisk, Defrag y ScanDisk para los modos real y protegido) se han rediseñado para admitir completamente FAT32. Además, Microsoft está ayudando a los proveedores líderes de utilidades de disco y controladores de dispositivos a modificar sus productos para admitir FAT32. FAT32 es más eficiente que FAT16 cuando se trabaja con discos más grandes y no requiere que se dividan en particiones de 2 GB. Windows 98 necesariamente es compatible con FAT16, ya que es este sistema de archivos el que es compatible con otros sistemas operativos, incluidas las empresas de terceros. En modo real MS-DOS y en modo seguro Windows 98, el sistema de archivos FAT32 es significativamente más lento que FAT16. Por lo tanto, al ejecutar programas en modo MS DOS, es conveniente incluir Autoexec. comando de archivo bat o PIF para descargar Smartdrv. exe, que acelerará las operaciones del disco. Algunos programas FAT16 más antiguos pueden proporcionar información incorrecta sobre la cantidad de espacio libre o total en disco si es más de 2 GB. Windows 98 proporciona nuevas API para MS-DOS y Win32 que permiten determinar correctamente estas métricas.

.3 Comparación de FAT16 y FAT32

Tabla 2.3.1 - Comparación de los sistemas de archivos FAT16 y FAT32

FAT16FAT32 Implementado y utilizado por la mayoría de los sistemas operativos (MS-DOS, Windows 98, Windows NT, OS/2, UNIX). Actualmente solo se admite en Windows 95 OSR2 y Windows 98. Muy eficaz para unidades lógicas de menos de 256 MB. No funciona con discos de menos de 512 MB. Admite compresión de disco, como el algoritmo DriveSpace. No es compatible con la compresión de disco. Maneja un máximo de 65 525 clústeres, cuyo tamaño depende del tamaño de la unidad lógica. Dado que el tamaño máximo del clúster es de 32 KB, FAT16 solo puede manejar discos lógicos de hasta 2 GB. Capaz de trabajar con unidades lógicas de hasta 2047 GB con un tamaño máximo de clúster de 32 KB.

La longitud máxima de archivo posible en FAT32 es de 4 GB menos 2 bytes. Las aplicaciones Win32 pueden abrir archivos de esta longitud sin un procesamiento especial. Otras aplicaciones deben usar la interrupción Int 21h, función 716C (FAT32) con bandera abierta igual a EXTEND-SIZE (1000h).

En el sistema de archivos FAT32, se asignan 4 bytes para cada grupo en la tabla de asignación de archivos, mientras que en FAT16 - 2 bytes y en FAT12 - 1,5 bytes.

Los 4 bits superiores de la entrada de la tabla FAT32 de 32 bits están reservados y no participan en la formación del número de clúster. Los programas que leen directamente la tabla FAT32 deben enmascarar estos bits y evitar que se cambien cuando se escriben nuevos valores.

Entonces, FAT32 tiene las siguientes ventajas sobre las implementaciones anteriores del sistema de archivos FAT:

admite unidades de hasta 2 TB;

organiza el espacio en disco de manera más eficiente. FAT32 utiliza clústeres más pequeños (4 KB para unidades de hasta 8 GB), lo que ahorra hasta un 10-15 % de espacio en unidades grandes en comparación con FAT;

el directorio raíz de FAT 32, como todos los demás directorios, ahora es ilimitado, consta de una cadena de clústeres y se puede ubicar en cualquier parte del disco;

tiene una mayor confiabilidad: FAT32 puede mover el directorio raíz y trabajar con una copia de seguridad FAT, además, el registro de arranque en las unidades FAT32 se ha ampliado para incluir una copia de seguridad de estructuras de datos críticas, lo que significa que las unidades FAT32 son menos sensibles a la ocurrencia de parches defectuosos separados de los volúmenes FAT existentes;

los programas se cargan un 50% más rápido.

Tabla 2.3.2 - Comparación de tamaños de conglomerados

Tamaño del discoFAT16 Tamaño del clúster KBFAT32 Tamaño del clúster KB256MB-511MB8No compatible512MB-1023MB1641024MB-2GB3242GB-8GBNo compatible48GB-16GBNo compatible816GB-32GBNo compatible16Más de 32GBNo compatible32

3. Sistema de archivos alternativo NTFS y su comparación con FAT32

3.1 sistema NTFS

(New Technology File System) es el sistema de archivos preferido cuando se trabaja con Windows NT, ya que fue diseñado especialmente para este sistema. Windows NT incluye una utilidad de conversión que convierte volúmenes FAT y HPFS en volúmenes NTFS. En NTFS, las posibilidades de administrar el acceso a archivos y directorios individuales se amplían significativamente, se introduce una gran cantidad de atributos, se implementa tolerancia a fallas, se implementan herramientas dinámicas de compresión de archivos y soporte para los requisitos del estándar POSIX. NTFS permite nombres de archivo de hasta 255 caracteres y utiliza el mismo algoritmo de generación de nombres cortos que VFAT. NTFS se autorrepara en caso de falla del sistema operativo o del hardware, por lo que el volumen del disco permanece disponible y la estructura del directorio permanece intacta.

Cada archivo en un volumen NTFS está representado por una entrada en un archivo especial, la MFT (tabla maestra de archivos). NTFS reserva las primeras 16 entradas de la tabla, de aproximadamente 1 MB de tamaño, para información especial. La primera entrada de la tabla describe directamente la propia tabla del archivo principal. Le sigue una entrada MFT reflejada. Si la primera entrada de MFT está dañada, NTFS lee la segunda entrada para buscar un archivo MFT reflejado cuya primera entrada sea idéntica a la primera entrada de MFT. La ubicación de los segmentos de datos de MFT y el archivo espejo de MFT se almacena en el sector de arranque. Una copia del sector de arranque se encuentra en el centro lógico del disco. La tercera entrada de MFT contiene el archivo de registro utilizado para restaurar archivos. La decimoséptima entrada y las subsiguientes de la tabla maestra de archivos son utilizadas por los archivos y directorios reales del volumen.

El registro de transacciones (archivo de registro) registra todas las operaciones que afectan la estructura del volumen, incluida la creación de un archivo y cualquier comando que cambie la estructura del directorio. El registro de transacciones se usa para recuperar un volumen NTFS después de una falla del sistema. La entrada del directorio raíz contiene una lista de archivos y directorios almacenados en el directorio raíz.

El esquema de asignación de espacio en un volumen se almacena en un archivo de mapa de bits. El atributo de datos de este archivo contiene un mapa de bits, cada uno de los cuales representa un clúster de volumen e indica si el clúster dado está libre u ocupado por algún archivo. También admite un archivo de clúster defectuoso para registrar áreas defectuosas en un volumen y un archivo de volumen. que contiene el nombre del volumen, la versión de NTFS y el bit que se establece cuando el volumen está dañado. Finalmente, hay un archivo que contiene una tabla de definición de atributos que define los tipos de atributos admitidos en el volumen y si se pueden indexar, restaurar mediante la restauración del sistema, etc. Asigna espacio en clústeres y usa 64 bits para numerarlos, lo que lo hace Es posible tener 264 clústeres, cada uno de hasta 64 KB de tamaño. Al igual que en FAT, el tamaño del clúster puede cambiar, pero no necesariamente aumenta en proporción al tamaño del disco. Los tamaños de clúster establecidos de forma predeterminada al formatear una partición se muestran en la Tabla 3.1.

Tamaño de partición Tamaño de clúster< 512 Мб512 байт513 Мб - 1024 Мб (1 Гб) 1 Кб1 Гб - 2 Гб2 Кб2 Гб - 4 Гб4 Кб4 Гб - 8 Гб8 Кб8 Гб - 16 Гб16 Кб16 Гб - 32 Гб32 Кб>32 GB64 KB le permite almacenar archivos de hasta 16 exabytes (264 bytes) y tiene compactación de archivos en tiempo real incorporada. La compresión es uno de los atributos de un archivo o directorio y, como cualquier atributo, se puede eliminar o configurar en cualquier momento (la compresión es posible en particiones con un tamaño de clúster de no más de 4 KB). Al compactar un archivo, a diferencia de los esquemas de compresión utilizados en FAT, se utiliza la compactación por archivo, por lo que el daño a una pequeña área del disco no provoca la pérdida de información en otros archivos.

Para reducir la fragmentación, NTFS siempre intenta almacenar archivos en bloques contiguos. Este sistema utiliza una estructura de directorios de árbol B similar al sistema de archivos HPFS de alto rendimiento, en lugar de la estructura de lista vinculada utilizada por FAT. Esto hace que la búsqueda de archivos en un directorio sea más rápida porque los nombres de los archivos se almacenan ordenados en orden lexicográfico. fue diseñado como un sistema de archivos recuperable que utiliza un modelo de procesamiento de transacciones. Cada operación de E/S que cambia un archivo en un volumen NTFS es tratada como una transacción por el sistema y puede ejecutarse como un bloque indivisible. Cuando un usuario modifica un archivo, el servicio de archivo de registro captura toda la información necesaria para volver a intentar o deshacer la transacción. Si la transacción se completa con éxito, el archivo se modifica. De lo contrario, NTFS revierte la transacción.

A pesar de la presencia de protección contra el acceso no autorizado a los datos, NTFS no proporciona la confidencialidad necesaria de la información almacenada. Para acceder a los archivos, es suficiente iniciar la computadora en DOS desde un disquete y usar algún controlador NTFS de terceros para este sistema.

Empezando con Versiones de Windows NT 5.0 (nuevo Nombre de Windows 2000) Microsoft admite el nuevo sistema de archivos NTFS 5.0. La nueva versión de NTFS introdujo atributos de archivo adicionales; junto con el derecho de acceso, se introdujo el concepto de prohibición de acceso, que permite, por ejemplo, cuando un usuario hereda derechos de grupo sobre un archivo, prohibirle modificar su contenido. El nuevo sistema también permite:

imponer restricciones (cuotas) sobre la cantidad de espacio en disco proporcionado a los usuarios;

proyectar cualquier directorio (tanto local como computadora remota) a un subdirectorio en la unidad local.

Una característica interesante de la nueva versión de Windows NT es el cifrado dinámico de archivos y directorios, lo que aumenta la confiabilidad del almacenamiento de información. Windows NT 5.0 incluye un Sistema de cifrado de archivos (EFS) que utiliza algoritmos de cifrado de clave compartida. Si el atributo de cifrado se establece para un archivo, cuando el programa de usuario accede al archivo para escribir o leer, el archivo se cifra y decodifica de forma transparente para el programa.

.2 Comparación de NTFS y FAT32

ventajas:

Acceso rápido a archivos pequeños;

El tamaño del espacio en disco hoy en día es prácticamente ilimitado;

La fragmentación de archivos no afecta al propio sistema de archivos;

Alta confiabilidad de guardar datos y la estructura real del archivo en sí;

Alto rendimiento cuando se trabaja con archivos grandes;

Desventajas:

Mayores requisitos de memoria en comparación con FAT 32;

Trabajar con directorios de tamaño mediano es difícil debido a su fragmentación;

Menor velocidad de funcionamiento en comparación con FAT 3232

ventajas:

Alta velocidad de trabajo;

Bajo requerimiento de RAM;

Trabajo eficiente con archivos de mediano y pequeño tamaño;

Menos desgaste del disco debido a un menor movimiento del cabezal de lectura/escritura.

Desventajas:

Baja protección contra fallas del sistema;

Trabajo ineficiente con archivos grandes;

Restricción en el tamaño máximo de la sección y archivo;

Rendimiento reducido durante la fragmentación;

Rendimiento reducido al trabajar con directorios que contienen una gran cantidad de archivos;

Entonces, ambos sistemas de archivos almacenan datos en clústeres, cuyo tamaño mínimo es 512 b. Por regla general, el tamaño habitual del clúster es de 4 Kb. Aquí es donde probablemente terminan las similitudes. Algo sobre la fragmentación: la velocidad de NTFS cae drásticamente cuando el disco está lleno en un 80 - 90%. Esto se debe a la fragmentación de los archivos de servicio y de trabajo. Cuanto más trabaje con un disco tan cargado, más fragmentación y menor rendimiento. En FAT 32, la fragmentación del área de trabajo del disco también ocurre en etapas anteriores. El punto aquí depende de la frecuencia con la que escribe/borra datos. Al igual que con NTFS, la fragmentación reduce en gran medida el rendimiento. Ahora sobre la memoria RAM. El volumen de la hoja de cálculo FAT 32 en sí puede ocupar varios megabytes de RAM. Pero el almacenamiento en caché viene al rescate. Lo que se almacena en caché:

Directorios más utilizados;

Datos sobre todos los archivos utilizados actualmente;

Información sobre espacio libre en disco;

Pero, ¿qué pasa con NTFS? El almacenamiento en caché es difícil para directorios grandes y pueden alcanzar varias decenas de megabytes de tamaño. Más MFT, más información sobre espacio libre en disco. Aunque cabe señalar que NTFS sigue consumiendo recursos RAM de forma bastante económica. En presencia de un sistema de almacenamiento de datos exitoso, en la MFT cada entrada es aproximadamente igual a 1 Kb. Pero aún así, los requisitos de RAM son más altos que para FAT 32. En resumen, si su memoria es menor o igual a 64 Mb, entonces FAT 32 será más eficiente en términos de velocidad, si es más, la diferencia de velocidad será pequeño, y a menudo no en absoluto. Ahora sobre el disco duro en sí. Para usar NTFS, Bus Mastering es deseable. ¿Qué es esto? Este es un modo especial de operación del controlador y el controlador. Cuando se usa BM, el intercambio ocurre sin la participación del procesador. La ausencia de una VM afectará el rendimiento del sistema. Además, debido al uso de un sistema de archivos más complejo, aumenta la cantidad de movimientos del cabezal de lectura/escritura, lo que también afecta la velocidad. La presencia de un caché de disco tiene un efecto igualmente positivo tanto en NTFS como en FAT 32.

Conclusión

Las ventajas de FAT son la baja sobrecarga de almacenamiento de datos y la compatibilidad total con una gran cantidad de sistemas operativos y plataformas de hardware. Este sistema de archivos todavía se usa para formatear disquetes, donde el gran volumen de la partición compatible con otros sistemas de archivos no juega ningún papel, y la baja sobrecarga le permite usar económicamente un pequeño espacio en disco (NTFS requiere más espacio para almacenar datos, lo cual es completamente inaceptable para disquetes).

El alcance de FAT32 es en realidad mucho más limitado: vale la pena usar este sistema de archivos si va a acceder a particiones con Windows 9x y Windows 2000/XP. Pero dado que la relevancia de Windows 9x en la actualidad prácticamente ha desaparecido, el uso de este sistema de archivos no es de especial interés.

Bibliografía

1. http://yura. puslapiai. lt/archiv/per/fat.html

Sistemas de archivos FAT

FAT16

El sistema de archivos FAT16 es anterior a MS-DOS y es compatible con todos los sistemas operativos de Microsoft por motivos de compatibilidad. Su nombre File Allocation Table (tabla de ubicación de archivos) refleja perfectamente la organización física del sistema de archivos, cuyas características principales incluyen el hecho de que el tamaño máximo de un volumen admitido (disco duro o partición en un disco duro) no supera los 4095 MEGABYTE. En los días de MS-DOS, los discos duros de 4 GB parecían un sueño imposible (los discos de 20-40 MB eran un lujo), por lo que tal reserva estaba bastante justificada.

Un volumen formateado para usar FAT16 se divide en clústeres. El tamaño de clúster predeterminado depende del tamaño del volumen y puede oscilar entre 512 bytes y 64 KB. En mesa. La figura 2 muestra cómo el tamaño del clúster depende del tamaño del volumen. Tenga en cuenta que el tamaño del clúster puede diferir del valor predeterminado, pero debe tener uno de los valores especificados en la Tabla 1. 2.

No se recomienda usar el sistema de archivos FAT16 en volúmenes mayores de 511 MB, ya que el espacio en disco se usará de manera extremadamente ineficiente para archivos relativamente pequeños (un archivo de 1 byte ocupará 64 KB). Independientemente del tamaño del clúster, el sistema de archivos FAT16 no es compatible con volúmenes de más de 4 GB.

FAT32

A partir de Microsoft Windows 95 OEM Service Release 2 (OSR2), Windows introdujo soporte para FAT de 32 bits. Para los sistemas basados ​​en Windows NT, este sistema de archivos se admitió por primera vez en Microsoft Windows 2000. Mientras que FAT16 puede admitir volúmenes de hasta 4 GB, FAT32 puede admitir volúmenes de hasta 2 TB. El tamaño del clúster en FAT32 puede variar de 1 (512 bytes) a 64 sectores (32 KB). Los valores del clúster FAT32 requieren 4 bytes para almacenar (32 bits, no 16 como en FAT16). Esto significa, en particular, que algunas utilidades de archivos diseñadas para FAT16 no pueden funcionar con FAT32.

La principal diferencia entre FAT32 y FAT16 es que el tamaño de la partición lógica del disco ha cambiado. FAT32 admite volúmenes de hasta 127 GB. Al mismo tiempo, si al usar FAT16 con discos de 2 GB, se requería un clúster de 32 KB, entonces en FAT32 un clúster de 4 KB es adecuado para discos de 512 MB a 8 GB (Tabla 4).

En consecuencia, esto significa un uso más eficiente del espacio en disco: cuanto más pequeño es el clúster, menos espacio se requiere para almacenar el archivo y, como resultado, el disco se fragmenta menos.

Cuando se usa FAT32, el tamaño máximo de archivo puede ser de hasta 4 GB menos 2 bytes. Si al usar FAT16 el número máximo de entradas en el directorio raíz estaba limitado a 512, entonces FAT32 le permite aumentar este número a 65 535.

FAT32 impone restricciones sobre el tamaño mínimo del volumen: debe ser de al menos 65 527 clústeres. Al mismo tiempo, el tamaño del clúster no puede ser tal que la FAT ocupe más de 16 MB - 64 KB / 4 o 4 millones de clústeres.

Cuando se utilizan nombres de archivo largos, los datos necesarios para acceder desde FAT16 y FAT32 no se superponen. Al crear un archivo con un largo Nombre de Windows crea el nombre de formato 8.3 correspondiente y una o más entradas de directorio para contener el nombre largo (13 caracteres del nombre de archivo largo por entrada). Cada aparición posterior almacena la parte correspondiente del nombre de archivo en formato Unicode. Tales entradas tienen los atributos "id de volumen", "solo lectura", "sistema" y "oculto", un conjunto que MS-DOS ignora; en este sistema operativo, se accede a un archivo por su "alias" en formato 8.3.

sistema de archivos NTFS

Microsoft Windows 2000 incluye soporte para una nueva versión del sistema de archivos NTFS que, en particular, permite trabajar con servicios de directorio de Active Directory, puntos de análisis, herramientas de seguridad de la información, control de acceso y otras características.

Al igual que con FAT, la unidad básica de información en NTFS es el clúster. En mesa. La figura 5 muestra los tamaños de clúster predeterminados para volúmenes de varios tamaños.

Cuando crea un sistema de archivos NTFS, el formateador crea un archivo de tabla maestra de archivos (MTF) y otras áreas para almacenar metadatos. NTFS utiliza metadatos para implementar la estructura de archivos. Las primeras 16 entradas de la MFT están reservadas por el propio NTFS. La ubicación de los archivos de metadatos $Mft y $MftMirr se registra en el sector de arranque del disco. Si la primera entrada de la MFT está dañada, NTFS lee la segunda entrada para encontrar una copia de la primera. Una copia completa del sector de arranque se encuentra al final del volumen. En mesa. 6 enumera los principales metadatos almacenados en la MFT.

Las entradas restantes de MFT contienen entradas para cada archivo y directorio ubicado en el volumen.

Por lo general, un archivo usa una entrada en la MFT, pero si el archivo tiene un gran conjunto de atributos o se fragmenta demasiado, es posible que se requieran entradas adicionales para almacenar información sobre él. En este caso, el primer registro sobre el archivo, denominado registro base, almacena la ubicación de los demás registros. Los datos sobre archivos y directorios de pequeño tamaño (hasta 1500 bytes) están completamente contenidos en la primera entrada.

Atributos de archivo en NTFS

Cada sector ocupado en un volumen NTFS pertenece a un archivo en particular. Incluso los metadatos del sistema de archivos son parte del archivo. NTFS trata cada archivo (o directorio) como un conjunto de atributos de archivo. Elementos como el nombre del archivo, su información de protección e incluso los datos que contiene son atributos del archivo. Cada atributo se identifica mediante un código de tipo específico y, opcionalmente, mediante un nombre de atributo.

Si los atributos de un archivo caben dentro de un registro de archivo, se denominan atributos residentes. Estos atributos son siempre el nombre del archivo y la fecha en que se creó. En los casos en que la información sobre un archivo es demasiado grande para caber en un solo registro MFT, algunos de los atributos del archivo se vuelven no residentes. Los atributos residentes se almacenan en uno o más grupos y representan un flujo de datos alternativos para el volumen actual (más información a continuación). Para describir la ubicación de los atributos residentes y no residentes, NTFS crea un atributo Lista de atributos.

En mesa. 7 muestra los principales atributos de archivo definidos en NTFS. Esta lista puede ampliarse en el futuro.

sistema de archivos CDFS

Windows 2000 brinda soporte para el sistema de archivos CDFS, que cumple con el estándar ISO'9660, que describe la ubicación de la información en un CD-ROM. Se admiten nombres de archivo largos de acuerdo con ISO'9660 Nivel 2.

A creando un CD-ROM Para usar bajo Windows 2000, tenga en cuenta lo siguiente:

  • todos los nombres de directorios y archivos deben tener menos de 32 caracteres;
  • todos los nombres de directorios y archivos deben contener solo caracteres en mayúsculas;
  • la profundidad de los directorios no debe exceder los 8 niveles desde la raíz;
  • el uso de extensiones de nombre de archivo es opcional.

Comparación de sistemas de archivos

En Microsoft Windows 2000, se pueden utilizar FAT16, FAT32, NTFS o combinaciones de estos sistemas de archivos. La elección del sistema operativo depende de los siguientes criterios:

  • cómo se usa la computadora;
  • plataforma de hardware;
  • tamaño y número de discos duros;
  • seguridad de información

Sistemas de archivos FAT

Como habrá notado, los números en los nombres de los sistemas de archivos (FAT16 y FAT32) indican la cantidad de bits necesarios para almacenar información sobre los números de clúster utilizados por el archivo. Entonces, FAT16 usa direccionamiento de 16 bits y, en consecuencia, es posible usar hasta 216 direcciones. En Windows 2000, los primeros cuatro bits de la tabla de ubicación de archivos FAT32 son necesarios para uso interno, por lo que FAT32 alcanza las 228 direcciones.

En mesa. 8 muestra los tamaños de clúster para los sistemas de archivos FAT16 y FAT32.

Además de las diferencias significativas en el tamaño del clúster, FAT32 también permite expandir el directorio raíz (en FAT16, la cantidad de entradas está limitada a 512 y puede ser incluso menor cuando se usan nombres de archivo largos).

Beneficios de FAT16

Entre las ventajas de FAT16 se encuentran las siguientes:

  • el sistema de archivos es compatible con MS-DOS, Windows 95, Windows 98, Windows NT, Windows 2000 y algunos sistemas operativos UNIX;
  • existe una gran cantidad de programas que te permiten corregir errores en este sistema de archivos y recuperar datos;
  • si hay problemas con el inicio desde el disco duro, el sistema puede iniciarse desde el disquete;
  • este sistema de archivos es bastante eficiente para volúmenes menores de 256 MB.
Desventajas de FAT16

Las principales desventajas de FAT16 incluyen:

  • el directorio raíz no puede contener más de 512 elementos. El uso de nombres de archivo largos reduce en gran medida el número de estos elementos;
  • FAT16 admite un máximo de 65 536 clústeres y, dado que el sistema operativo reserva algunos clústeres, la cantidad de clústeres disponibles es 65 524. Cada clúster tiene un tamaño fijo para un LUN determinado. Cuando se alcanza el número máximo de clústeres en su tamaño máximo (32 KB), el volumen máximo admitido se limita a 4 GB (en Windows 2000). Para mantener la compatibilidad con MS-DOS, Windows 95 y Windows 98, el tamaño de un volumen FAT16 no debe exceder los 2 GB;
  • FAT16 no es compatible con la protección y compresión de archivos integrada;
  • en discos grandes, se desperdicia mucho espacio debido al hecho de que se usa el tamaño máximo de clúster. El espacio para el archivo se asigna en función del tamaño del clúster, no del archivo.
Beneficios de FAT32

Entre las ventajas de FAT32 se encuentran las siguientes:

  • la asignación de espacio en disco se realiza de manera más eficiente, especialmente para discos grandes;
  • el directorio raíz en FAT32 es una cadena normal de clústeres y se puede ubicar en cualquier parte del disco. Debido a esto, FAT32 no impone ninguna restricción sobre la cantidad de elementos en el directorio raíz;
  • debido al uso de clústeres más pequeños (4 KB en discos de hasta 8 GB), el espacio en disco ocupado suele ser un 10-15 % menor que con FAT16;
  • FAT32 es el sistema de archivos más seguro. En particular, admite la capacidad de mover el directorio raíz y usar una copia de seguridad FAT. Además, el registro de arranque contiene una serie de datos críticos para el sistema de archivos.
Desventajas de FAT32

Las principales desventajas de FAT32:

  • el tamaño del volumen cuando se usa FAT32 bajo Windows 2000 está limitado a 32 GB;
  • Los volúmenes FAT32 no están disponibles desde otros sistemas operativos, solo desde Windows 95 OSR2 y Windows 98;
  • la copia de seguridad del sector de arranque no es compatible;
  • FAT32 no es compatible con la protección y compresión de archivos integrada.

sistema de archivos NTFS

Cuando utilice Windows 2000, Microsoft recomienda que formatee todas las particiones del disco duro a NTFS, excepto en las configuraciones en las que se utilicen varios sistemas operativos (excepto Windows 2000 y Windows NT). El uso de NTFS en lugar de FAT le permite utilizar las funciones disponibles en NTFS. Estos incluyen, en particular:

  • la posibilidad de recuperación. Esta función está "integrada" en el sistema de archivos. NTFS garantiza la seguridad de los datos debido a que utiliza un protocolo y unos algoritmos de recuperación de información. En caso de falla del sistema, NTFS usa el protocolo y la información adicional para restaurar automáticamente la integridad del sistema de archivos;
  • compresión de información. Para volúmenes NTFS, Windows 2000 admite la compresión de un solo archivo. Dichos archivos comprimidos pueden ser utilizados por aplicaciones de Windows sin descompresión previa, lo que ocurre automáticamente al leer el archivo. Al cerrar y guardar el archivo se vuelve a empaquetar;
  • Además, se pueden distinguir las siguientes ventajas de NTFS:

Algunas características del sistema operativo requieren NTFS;

La velocidad de acceso es mucho más rápida: NTFS minimiza la cantidad de accesos al disco necesarios para encontrar un archivo;

Protección de archivos y directorios. Solo en volúmenes NTFS es posible establecer atributos de acceso a archivos y carpetas;

Al usar NTFS, Windows 2000 admite volúmenes de hasta 2 TB;

El sistema de archivos mantiene una copia de seguridad del sector de arranque: se encuentra al final del volumen;

NTFS es compatible con el sistema de cifrado del Sistema de archivos cifrados (EFS), que brinda protección contra el acceso no autorizado al contenido de los archivos;

Al utilizar cuotas, puede limitar la cantidad de espacio en disco utilizado por los usuarios.

Desventajas de NTFS

Hablando de las deficiencias del sistema de archivos NTFS, cabe señalar que:

  • Los volúmenes NTFS no están disponibles en MS-DOS, Windows 95 y Windows 98. Además, varias funciones que están disponibles en NTFS bajo Windows 2000 no están disponibles en Windows 4.0 y versiones anteriores;
  • Los volúmenes pequeños que contienen muchos archivos pequeños pueden experimentar una degradación del rendimiento en comparación con FAT.

Sistema de archivos y velocidad

Como ya hemos descubierto, para volúmenes pequeños, FAT16 o FAT32 proporciona un acceso a archivos más rápido en comparación con NTFS, ya que:

  • FAT tiene una estructura más simple;
  • los directorios son más pequeños;
  • FAT no admite la protección de archivos contra el acceso no autorizado: el sistema no necesita verificar los permisos de los archivos.

NTFS minimiza la cantidad de accesos al disco y el tiempo que lleva encontrar un archivo. Además, si el tamaño del directorio es lo suficientemente pequeño como para caber en una sola entrada de MFT, la entrada completa se lee de una sola vez.

Una entrada en FAT contiene el número de clúster para el primer clúster en el directorio. Ver un archivo FAT requiere buscar en toda la estructura del archivo.

Al comparar la velocidad de las operaciones realizadas para directorios que contienen nombres de archivo cortos y largos, debe tenerse en cuenta que la velocidad de las operaciones para FAT depende de la operación en sí y del tamaño del directorio. Si FAT busca un archivo que no existe, busca en todo el directorio, una operación que lleva más tiempo que buscar en la estructura de árbol B utilizada por NTFS. El tiempo medio que se tarda en encontrar un archivo en FAT se expresa en función de N/2, en NTFS se expresa como log N, donde N es el número de archivos.

Varios de los siguientes factores afectan la velocidad de lectura y escritura de archivos en Windows 2000:

  • fragmentación de archivos. Si el archivo está muy fragmentado, NTFS generalmente requiere menos accesos al disco que FAT para encontrar todos los fragmentos;
  • tamaño de cluster. Para ambos sistemas de archivos, el tamaño de clúster predeterminado depende del tamaño del volumen y siempre se expresa como una potencia de 2. Las direcciones en FAT16 son de 16 bits, en FAT32 son de 32 bits, en NTFS son de 64 bits;
  • el tamaño de clúster predeterminado en FAT se basa en el hecho de que la tabla de ubicación de archivos no puede tener más de 65 535 entradas: el tamaño de clúster es una función del tamaño del volumen dividido por 65 535. Por lo tanto, el tamaño de clúster predeterminado para un volumen FAT siempre es mayor que el tamaño del clúster para un volumen NTFS del mismo tamaño. Tenga en cuenta que un tamaño de clúster más grande para los volúmenes FAT significa que los volúmenes FAT pueden estar menos fragmentados;
  • ubicación de archivos pequeños. Cuando se usa NTFS, los archivos pequeños están contenidos en un registro MFT. El tamaño de un archivo que cabe en un solo registro MFT depende de la cantidad de atributos en ese archivo.

Tamaño máximo de volúmenes NTFS

Teóricamente, NTFS admite volúmenes con hasta 232 clústeres. Sin embargo, además de la falta de discos duros de este tamaño, existen otras restricciones sobre el tamaño máximo del volumen.

Una de esas limitaciones es la tabla de particiones. Los estándares de la industria limitan el tamaño de la tabla de particiones de 2 a 32 sectores. Otra limitación es el tamaño del sector, que normalmente es de 512 bytes. Dado que el tamaño del sector puede cambiar en el futuro, el tamaño actual limita el tamaño de un solo volumen a 2 TB (2 32 x 512 bytes = 2 41). Por lo tanto, 2 TB es el límite práctico para los volúmenes físicos y lógicos de NTFS.

En mesa. La Figura 11 muestra las principales limitaciones de NTFS.

Administrar el acceso a archivos y directorios

Al usar volúmenes NTFS, puede establecer permisos de archivos y directorios. Estos derechos de acceso especifican qué usuarios y grupos tienen acceso a ellos y qué nivel de acceso está permitido. Dichos derechos de acceso se aplican tanto a los usuarios que trabajan en la computadora en la que se encuentran los archivos como a los usuarios que acceden a los archivos a través de la red cuando el archivo se encuentra en un directorio abierto para acceso remoto.

En NTFS, también puede establecer permisos de acceso remoto combinados con permisos de archivos y directorios. Además, los atributos del archivo (solo lectura, oculto, sistema) también restringen el acceso al archivo.

Bajo FAT16 y FAT32, también es posible establecer atributos de archivo, pero no proporcionan permisos de archivo.

La versión de NTFS utilizada en Windows 2000 introdujo un nuevo tipo de permiso de acceso denominado permisos heredados. La pestaña Seguridad contiene la opción Permita que los permisos heredables de los padres se propaguen a este objeto de archivo, que está activo por defecto. Esta opción reduce significativamente el tiempo necesario para cambiar los permisos de archivos y subdirectorios. Por ejemplo, para cambiar los permisos de un árbol que contiene cientos de subdirectorios y archivos, basta con habilitar esta opción; en Windows NT 4, debe cambiar los atributos de cada archivo y subdirectorio individual.

En la fig. La Figura 5 muestra el cuadro de diálogo Propiedades y la pestaña Seguridad (sección Avanzado) que enumera los permisos de archivo extendidos.

Recuerde que para los volúmenes FAT, el acceso solo se puede controlar a nivel de volumen, y dicho control solo es posible con acceso remoto.

Comprimir archivos y directorios

Windows 2000 admite la compresión de archivos y directorios ubicados en volúmenes NTFS. Los archivos comprimidos son legibles y escribibles por cualquier aplicación de Windows. Para esto, no es necesario su desembalaje preliminar. El algoritmo de compresión utilizado es similar al utilizado en DoubleSpace (MS-DOS 6.0) y DriveSpace (MS-DOS 6.22), pero tiene una diferencia significativa: en MS-DOS, se comprime una partición primaria completa o un dispositivo lógico, mientras que en NTFS puede empaquetar archivos y directorios individuales.

El algoritmo de compresión en NTFS está diseñado para admitir clústeres de hasta 4 KB de tamaño. Si el tamaño del clúster es superior a 4 KB, las funciones de compresión NTFS no estarán disponibles.

NTFS autorreparable

El sistema de archivos NTFS se repara automáticamente y puede mantener su integridad mediante el uso de un registro de las acciones realizadas y una serie de otros mecanismos.

NTFS trata cada operación que modifica los archivos del sistema en volúmenes NTFS como una transacción y almacena información sobre dicha transacción en un registro. Una transacción iniciada puede completarse por completo (confirmar) o revertirse (rollback). En este último caso, el volumen NTFS vuelve al estado anterior al inicio de la transacción. Para administrar las transacciones, NTFS escribe todas las operaciones involucradas en una transacción en un archivo de registro antes de que se escriba en el disco. Una vez completada la transacción, se realizan todas las operaciones. Por lo tanto, bajo la gestión de NTFS, no puede haber operaciones pendientes. En caso de fallas en el disco, las operaciones pendientes simplemente se cancelan.

Bajo el control de NTFS, también se realizan operaciones que le permiten identificar clústeres defectuosos sobre la marcha y asignar nuevos clústeres para operaciones de archivos. Este mecanismo se denomina reasignación de clústeres.

En esta revisión, examinamos los diversos sistemas de archivos compatibles con Microsoft Windows 2000, discutimos el diseño de cada uno de ellos y señalamos sus ventajas y desventajas. El más prometedor es el sistema de archivos NTFS, que tiene un gran conjunto de características que no están disponibles en otros sistemas de archivos. La nueva versión de NTFS compatible con Microsoft Windows 2000 tiene aún más funciones y, por lo tanto, se recomienda su uso al instalar el sistema operativo Win 2000.

ComputerPress 7"2000

sistema de archivos es solo una forma de organizar los datos en los medios, no hay nada complicado en esta organización.

Quizás esté pensando: "que el sistema de archivos es algo complejo e incomprensible, porque los sistemas operativos funcionan con él, y todo simplemente no puede estar allí ..."

Tienes razón en parte, pero todas las pasas están en el controlador del sistema de archivos, es decir en un programa que proporciona una API para otros programas de aplicación. Simplemente hace cosas como:

  • crear un archivo
  • eliminar un archivo
  • rebautizar
  • Copiar
  • mostrar el contenido del directorio
  • mover a otro directorio, etc.

El principio mismo de la organización del sistema de archivos es simple.

En esta publicación, no consideraré cómo funciona el controlador y cómo crea / elimina archivos, le diré sobre el principio de organización de archivos Sistemas FAT16.

(sobre cómo escribir un controlador, hay uno separado)

¿Por qué FAT16?

Me parece el más conveniente para el aprendizaje, es fácil de comprender. Y conociendo la idea, ya no es difícil aprender otros sistemas de archivos: FAT32, NTFS, etc.

¿Por qué necesito saber cómo funciona el sistema de archivos?

Conociendo el principio de organizar el sistema de archivos, puede desarrollar su propio controlador o administrador de archivos en cualquier dispositivo informático.

Descripción del sistema de archivos FAT16

Para su comodidad, aquí hay una lista de preguntas a las que encontrará respuestas:

sistema de archivos FAT16 divide todo el espacio de direcciones de los medios en dos áreas:

  • área del sistema
  • área de datos

Para mayor claridad, representaremos todo el espacio de direcciones como un rectángulo. La pequeña parte superior del rectángulo (espacio de direcciones) es el área del sistema, la inferior masiva es el área de datos.

Todos los datos que almacenamos en nuestros medios, es decir, todos los archivos y directorios se almacenan en el área de datos. El área del sistema, por otro lado, almacena los parámetros de este medio y las características de los archivos y directorios: el nombre del archivo, el nombre del directorio, los atributos del archivo, etc.

Comencemos con uno simple, unas pocas palabras sobre el área de datos y cómo se almacenan los datos allí.

Sobre el área de datos...

Para no direccionar cada byte (aunque algunos medios de almacenamiento le permiten trabajar byte por byte), se utiliza una unidad direccionable mínima diferente en el sistema de archivos: sector. El tamaño sectores 512 bytes. Además del sector, el sistema de archivos FAT16 también utiliza un concepto como grupo. agruparlo uno o más sectores contiguos.

Este parámetro (la cantidad de sectores por clúster) a menudo se manipula al formatear medios de almacenamiento. Porque la velocidad de trabajo y el “grado de empaquetamiento de datos” dependen de ello. FAT16, como todos los sistemas de archivos, utiliza el concepto de archivo. Un archivo es un área de datos que tiene un nombre y algunos atributos. Físicamente, en el área de datos, se trata de uno o más clústeres ocupados y el archivo ocupa un número entero de clústeres. Incluso si ocupa un poco más de dos clústeres, se considerarán tres clústeres para el sistema de archivos ocupado por el archivo. Por lo tanto, cuanto menor sea el tamaño del clúster, mayor será el "grado de empaquetamiento de datos" y más económicamente se utiliza el área de datos. Por otro lado, leer un archivo de grandes porciones de memoria, es decir, se agrupa más rápido que los pequeños. Por lo tanto, la elección del tamaño del clúster es una cuestión de compromiso.

sistema de archivos FAT16 impone límites en el tamaño del clúster, no más de 128 sectores(es decir, no más de 64 kb) y en el número de grupos no es más de 65525 piezas. Si usa todo al máximo, es decir, el tamaño máximo de los sectores y el número máximo de clústeres, resulta que FAT16 no puede abordar más de 4,2 gigabytes de información.

Si realizamos el formateo en modo automático (cuando no especificamos el tamaño del clúster), se elige que el tamaño del clúster sea mínimo, en el que el número resultante de clústeres no supera los 65525.

Sobre el área del sistema...

El área del sistema se crea cuando se formatea el medio y se es descriptivo. Consta de las siguientes partes:

Analicemos cada parte con más detalle.

1. Sector de arranque

El sector de arranque es tabla de parámetros y cargador de programas. El tamaño del sector de arranque suele ser 512 bytes, pero podría ser más.

Considere la estructura del sector de arranque.

No tengas miedo de una gran cantidad de campos en el sector del arranque, el es redundante. Por ejemplo, almacena información que no es relevante para las unidades flash: la cantidad de sectores en una pista, la cantidad de cabezas. Entonces, no todos los parámetros serán útiles para nosotros.

Si miras código hexadecimal, alguno medios formateados en formato FAT16, luego veremos el valor de los campos. Como ejemplo daré el código HEX de una imagen en formato FAT16 creada en WinImage. Para la comodidad de orientarme en el código, marqué con colores qué fragmento del código HEX pertenece a qué parámetro.

PD El valor de cada celda se considera de derecha a izquierda, por ejemplo, si está escrito 00 02 h, entonces en realidad es 02 00 h, es decir 512

PD El sector de arranque siempre termina en 55AAh.

Es importante prestar atención al parámetro " Sectores reservados» - el número de sectores reservados, por compensación 0eh. Al principio, dije que el sector de arranque suele tener un tamaño de 512 bytes, pero puede ser más. Su tamaño está determinado por el parámetro " Sectores reservados", en nuestro caso SectoresReservados = 01h, por lo que el sector de arranque ocupa 1er sector o 512 bytes.

2. GRASA

Después del sector de arranque con tamaño 512* Bytes de sectores reservados, va la mesa FAT1, su tamaño está determinado campo de dos bytes - SectorPerFat (16h) sector de arranque. En el ejemplo anterior, el valor de este campo es igual a 0001h o 1 , es decir. un sector o 512 bytes.

¿Qué es la GRASA?

En primer lugar, esta es una abreviatura: Tabla de asignación de archivos, que significa "tabla de ubicación de archivos". eso mesa Con una columna y 512/2 número de líneas(si el tamaño de la tabla FAT es 512 bytes o SectorPerFat es 0001h, como en nuestro caso). Cada línea tablas FAT ocupa 2 bytes de memoria, por lo que el número de líneas para nuestro caso es 512/2 .

Mesa sirve como un mapa a través de clústeres, cada línea caracteriza cualquier grupo, la primera línea es el primer clúster, la segunda es el segundo, y así sucesivamente para todos los clústeres que se encuentran en el área de datos. La tabla está precedida por un descriptor de tabla. F8FFh(mismo valor que el sector de arranque de 15 h) y marcador de posición FFFFh. A continuación se encuentran las filas de la tabla, cuyos valores pueden ser los siguientes:

  • 0000h- grupo libre;
  • 0002h-FFEFh- número del siguiente elemento en la cadena;
  • FFF0h-FFF6h- reservado;
  • FFF7h- defectuoso;
  • FFF8h-FFFFh- el último de la cadena;

daré un ejemplo Código HEX con explicación.

Azul yo he enmarcado tabla FAT1, tabla FAT2 roja(copia de la tabla FAT1). pintado encima cuadrado verde este es descriptor de tabla F8FFh y marcador de posición FFFFh. Los cuadrados vacíos son filas de la tabla. No marqué todas las líneas con un marco verde, rodeé solo las distintas de cero.

Cómo se usa y por qué se necesita FAT, lo explicaré un poco más adelante.

3. Directorio raíz

Después de las tablas FAT viene " directorio raíz". Esta es el área de la memoria que contiene elementos de 32 bytes. Todos el elemento describe, cualquier archivo o directorio ubicado en el directorio raíz u otro idioma "en la raíz" del disco duro / unidad flash. Resulta que el directorio raíz describe todo lo que está en la raíz.

El tamaño del directorio raíz depende de la configuración RootEntries (11h) sector de arranque. Esto indica número máximo de elementos de 32 bytes en el directorio raíz. Resulta que el tamaño del directorio es Entradas raíz * 32, para nuestro caso es 512 * 32 = 16384 bytes.

Cada elemento tiene la siguiente estructura:

Daré un ejemplo de un código HEX con una explicación.

Verde yo he enmarcado área de memoria responsable del directorio raíz, entradas de directorio raíz azul de 32 bytes. No elementos vacíos de 32 bytes que pinté en azul.

Aquí hay dos elementos no vacíos de 32 bytes, significa en el directorio raíz almacenar dos "algo", puede ser tanto archivos como otros directorios. En este caso, para simplificar el ejemplo, se almacenan dos archivos en la raíz " 1.txt" y " prueba.txt».

Echemos un vistazo más de cerca a estos dos elementos de 32 bytes; por conveniencia, marqué con colores el fragmento del código HEX y el parámetro correspondiente del elemento de 32 bytes en la tabla.

PD. Si el primer byte del nombre de archivo se reemplaza por "E5", después Explorador de Windows lo contará como remoto. Tal archivo se puede restaurar reemplazando el primer carácter E5 en el nombre con el valor anterior. No estoy completamente seguro, pero creo que así es como funciona la papelera de reciclaje en Windows. Al colocarlo en la papelera, el sistema operativo guarda el nombre del archivo en algún lugar y reemplaza el primer byte del nombre con E5, y al restaurar, le asigna al archivo su nombre anterior.

PD. Los nombres de archivo en el sistema FAT16 se almacenan en el formato 8.3 . Aquellos. 8 -bytes asignados para nombre y 3 bytes asignados para extensión. Los nombres están codificados en el formato ASCII, un carácter es un byte. Por lo tanto, el nombre no puede ser más largo que 8 caracteres y extensiones más de 3. si el nombre menos de 8 caracteres, después los bytes que faltan se completan en 20h(carácter de espacio en código ASCII).

PD. Les recuerdo que el valor de cada celda se considera de derecha a izquierda, por ejemplo, si se escribe 00 02 h, entonces en realidad es 02 00 h, es decir 512 en el sistema decimal.

El parámetro más importante para nosotros se encuentra en 1Ah — « palabra baja del primer grupo de archivos". Almacena el número del clúster en el que se encuentra el contenido del archivo, lo que significa que podemos trabajar con la información de este archivo, es decir. leerlo, editarlo, etc.

Por ejemplo " 1.txt» almacenado en un clúster número 0x0003 o 3 en el sistema decimal. Y esto significa que si nosotros Vamonos a grupo №3 en el área de datos (recuerde, el área de datos son solo grupos consecutivos) llegar al contenido de este archivo.

Puede que tenga una pregunta "práctica", pero ¿Cómo encontrar este tercer grupo? Por que direccion es

¿Cómo encontrar la dirección del clúster sabiendo su número?

Para esto, usted necesita saber ¿Cuánto espacio de sistema tienes? y ¿Qué tan grandes son los racimos?(es decir, cuántos sectores (o 512 bytes) contiene el clúster).

La siguiente figura le ayudará a averiguar el tamaño del área del sistema:

Ejemplo para mi caso

El sector del maletero tiene volumen 512*Sectores Reservados bytes, en mi caso 512 bytes. Además, la tabla FAT me ocupa un sector, aquellos. 512 bytes(ya que SectroPerFat es 1). mesa dos(porque NumberOfFATs es igual a 2), entonces dos tablas en total 512*2=1024 bytes. El tamaño del directorio raíz es de 512 elementos de 32 caracteres, es decir 512*32=16384 bytes. Creemos:

512 (sector de arranque) + 1024 (dos tablas FAT) + 16384 (directorio raíz) = 17920 bytes o 4600 en sistema hexadecimal.

Como resultado, en nuestro caso, el área de datos comienza con 0x4600, veamos:

Vemos el contenido de algún archivo, pero no el nuestro. Se almacenan los datos del fichero que nos interesa (1.txt) en grupo №3.

Ahora necesitamos averiguar el tamaño del clúster, el parámetro del sector de arranque nos ayudará con esto: SectorPerCluster(0xD, tamaño de parámetro 1 byte). En nuestro caso tamaño de clúster 4to sector, es decir. 512*4=2048 bytes o 800 en sistema hexadecimal. Es importante tener en cuenta que los grupos se numeran a partir de dos, no de uno (!).

Calculamos de qué direcciones comienza grupo №3:

0x4600 (área del sistema) + 0x800 (segundo clúster) = 0x4E00

Calculemos que la dirección termina el grupo número 3:

0x4E00 (comienzo del clúster n.° 3) + 0x800 (512*4 o tamaño de un clúster en HEX) = 0x5600

Como resultado, el clúster No. 3 se encuentra en el rango de direcciones 0x4E000x5600.

Veamos el código HEX

azul enmarcado yo marqué 1. contenido del archivo txt. Todo lo que está encima del marco es el contenido de otro archivo. Las áreas vacías del sector se rellenan con 0x00.

Entonces, ¿por qué necesitamos una tabla FAT?

Si el archivo ocupa más de un clúster (en nuestro caso, si el archivo tiene más de 2048 bytes), la tabla FAT viene al rescate. Es algo así como un "mapa" de clústeres. Aquellos. cuando sabremos número de sector, con lo que comienza el archivo que nos interesa, lo primero que debemos mirar mismo número de línea en FAT.

Si la cuerda importa 0xFF8-0xFFFF, entonces esto significa que este es el ultimo grupo para un archivo dado, es decir archivo ocupa solo un grupo.

Si la cuerda importa 0x0002-0xFFEF, entonces esto significa que archivo extendido a otro clúster. Número significa siguiente número de grupo, que contiene la continuación del archivo. Debemos continuar leyendo el archivo por número dado grupo.

Después de leer un nuevo grupo, debe observar el valor de la línea en este número en la FAT. Si el valor de la línea es 0x FF8-0xFFFF, significa que este grupo es el último en el archivo. Si es 0x0002-0xFFEF, entonces este es el número para el siguiente grupo, siga leyendo y repita la acción. La lectura de un archivo es un bucle condicional.

Entonces descubrimos los archivos, ahora es el momento de lidiar con los directorios.

¿Qué es un directorio?

El directorio para el sistema de archivos FAT16 (y para muchos otros) es un archivo especial de tamaño cero que almacena una lista de su contenido.

Digamos que agregamos el directorio " PRUEBA_DIR» con archivo « in_dir.txt". Luego en el directorio raíz aparecerá un nuevo elemento de 32 bytes, describe un directorio igual que el archivo, pero con ligeras diferencias.

Marqué en rojo los parámetros propios de los directorios, estos son 0x10- etiqueta de directorio y 0x00000000- tamaño del archivo.

Como puede ver en el cuadro azul, tenemos un directorio en grupo №5 vamos a ver lo que hay.

El contenido del "archivo" PRUEBA_DIR De hecho, este es el mismo directorio raíz, es decir. conjunto de elementos de 32 bytes. He marcado cada elemento con un borde verde.

Los elementos describen el nombre del archivo o directorio, los atributos y el número del clúster en el que se encuentran sus datos. En cualquier carpeta, siempre ahí dos directorios con nombre "." y "..".

El primero se encuentra en el grupo. №5 , es decir. este es el mismo directorio, a el segundo es para el grupo número 0. Debajo de ello número significa "directorio raíz", es decir. esta es la salida al directorio raíz.

Descripción del archivo " in_dir.txt» estándar, como para el directorio raíz (ver directorio raíz). Para nosotros, lo principal es el número del clúster en el que se encuentran los contenidos de este archivo (marcado con un cuadrado rojo).

Estamos viendo racimo №6 y ver el contenido del archivo in_dir.txt". Marqué el comienzo del grupo con la línea roja.

Te interesará:


En FAT, los nombres de archivo están en formato 8.3 y consisten solo en caracteres ASCII. Se agregó soporte para nombres de archivo largos (hasta 255 caracteres) a VFAT. Nombre de archivo largo, LFN) codificado en UTF-16LE, con LFN almacenados al mismo tiempo que los nombres 8.3, denominados retrospectivamente como SFN. Nombre de archivo corto). Los LFN no distinguen entre mayúsculas y minúsculas al buscar, sin embargo, a diferencia de los SFN, que se almacenan en mayúsculas, los LFN conservan el caso especificado cuando se creó el archivo.

Estructura del sistema FAT

En el sistema de archivos FAT, los sectores de disco contiguos se combinan en unidades denominadas clústeres. El número de sectores en un grupo es igual a una potencia de dos (ver más abajo). Se asigna un número entero de clústeres (al menos uno) para almacenar datos de archivos, por lo que, por ejemplo, si el tamaño del archivo es de 40 bytes y el tamaño del clúster es de 4 kbytes, solo se ocupará el 1 % del espacio asignado. por la información del archivo. Para evitar tales situaciones, es recomendable reducir el tamaño de los clústeres y viceversa para reducir la cantidad de información de direcciones y aumentar la velocidad de las operaciones con archivos. En la práctica, se elige algún compromiso. Dado que es posible que la capacidad de un disco no se exprese en un número entero de clústeres, normalmente existen las denominadas "unidades" al final del volumen. sectores excedentes: un "residuo" menor que un clúster en tamaño, que el sistema operativo no puede asignar para almacenar información.

El espacio del volumen FAT32 se divide lógicamente en tres áreas contiguas:

  • área reservada. Contiene estructuras de servicio que pertenecen a un registro de arranque de partición (Registro de arranque de partición - PBR, para distinguirlo del Registro de arranque maestro - el registro de arranque maestro de un disco; también PBR a menudo se denomina incorrectamente sector de arranque) y se utilizan al inicializar un volumen ;
  • Un área de una tabla FAT que contiene una matriz de punteros de índice ("celdas") correspondientes a grupos de áreas de datos. Por lo general, hay dos copias de la tabla FAT en el disco para fines de confiabilidad;
  • El área de datos donde se escriben los contenidos reales de los archivos, es decir, el texto archivos de texto, imagen codificada para archivos de imágenes, sonido digitalizado para archivos de audio, etc., así como los llamados. metadatos: información sobre nombres de archivos y carpetas, sus atributos, tiempos de creación y modificación, tamaño y ubicación en el disco.

FAT12 y FAT16 también tienen un área dedicada para el directorio raíz. Tiene una posición fija (inmediatamente después de la última entrada en la tabla FAT) y un tamaño fijo en sectores.

Si un grupo pertenece a un archivo, la celda correspondiente contiene el número del siguiente grupo del mismo archivo. Si la celda corresponde al último grupo del archivo, entonces contiene un valor especial (FFFF 16 para FAT16). Por lo tanto, se construye una cadena de clústeres de archivos. Los ceros corresponden a clústeres no utilizados en la tabla. Los clústeres "malos" (que se excluyen del procesamiento, por ejemplo, porque el área correspondiente del dispositivo no se puede leer) también tienen un código especial.

Cuando se elimina un archivo, el primer carácter del nombre se reemplaza con un código especial E5 16 y la cadena de grupos de archivos en la tabla de asignación se restablece a cero. Dado que la información sobre el tamaño del archivo (que se encuentra en el directorio junto al nombre del archivo) permanece intacta, si los grupos de archivos se ubicaron secuencialmente en el disco y no se sobrescribieron con nueva información, es posible recuperar el archivo eliminado. .

registro de arranque

La primera estructura de un volumen FAT se llama BPB. Bloque de parámetros BIOS ) y se encuentra en el área reservada, en el sector cero. Esta estructura contiene información que identifica el tipo de sistema de archivos y las características físicas del medio (disquete o partición del disco duro).

Bloque de parámetros del BIOS

En principio, BPB estaba ausente en FAT, que sirvió a MS-DOS 1.x, ya que en ese momento solo se asumían dos tipos diferentes de volumen: disquetes de 360 ​​kb de cinco pulgadas de una y dos caras, y el formato de volumen era determinado por el primer byte del área FAT. BPB se introdujo en MS-DOS 2.x a principios de 1983 como una estructura de sector de arranque obligatoria a partir de la cual determinar el formato del volumen en adelante; el antiguo esquema de detección del primer byte FAT ya no es compatible. También en MS-DOS 2.0, se introdujo una jerarquía de archivos y carpetas (antes de eso, todos los archivos se almacenaban en el directorio raíz).

La estructura BPB en MS-DOS 2.x contenía un campo de "número total de sectores" de 16 bits, lo que significaba que esta versión de FAT era fundamentalmente inaplicable para volúmenes mayores de 2 16 = 65 536 sectores, es decir, más de 32 MB con un tamaño de sector estándar de 512 bytes. En MS-DOS 4.0 (1988), el campo BPB anterior se amplió a 32 bits, lo que supuso un aumento del tamaño del volumen teórico a 232 = 4.294.967.296 sectores, es decir, hasta 2 TB con un sector de 512 bytes.

La siguiente modificación de BPB apareció con Windows 95 OSR2, que introdujo FAT32 (en agosto de 1996). Se eliminó el límite de dos gigabytes en el tamaño del volumen; en teoría, un volumen FAT32 puede tener un tamaño de hasta 8 TB. Sin embargo, el tamaño de cada archivo individual no puede exceder los 4 GB. El bloque de parámetros del BIOS FAT32 repite BPB FAT16 hasta el campo BPB_TotSec32 inclusive para compatibilidad con versiones anteriores de FAT, seguido de diferencias.

El "sector de arranque" FAT32 son en realidad tres sectores de 512 bytes: los sectores 0, 1 y 2. Cada uno de ellos contiene la firma 0xAA55 en la dirección 0x1FE, es decir, en los últimos dos bytes, si el tamaño del sector es de 512 bytes. Si el tamaño del sector es superior a 512 bytes, la firma está contenida tanto en la dirección 0x1FE como en los dos últimos bytes del sector cero, es decir, está duplicada.

FSInfo

El registro de arranque de una partición FAT32 contiene una estructura llamada FSInfo, utilizado para almacenar el valor del número de clústeres libres en el volumen. FSInfo, por regla general, ocupa el sector 1 (ver el campo BPB_FSInfo) y tiene la siguiente estructura (direcciones relativas al comienzo del sector):

  • FSI_LeadSig. La firma de 4 bytes 0x41615252 indica que el sector se está utilizando para la estructura FSInfo.
  • FSI_Reservado1. El intervalo desde el 4º hasta el 483º byte del sector, inclusive, se pone a cero.
  • FSI_EstructuraSig. Otra firma se encuentra en 0x1E4 y contiene el valor 0x61417272.
  • FSI_Free_Count. El campo de cuatro bytes en la dirección 0x1E8 contiene el último número de clústeres libres en el volumen conocido por el sistema. El valor 0xFFFFFFFF significa que se desconoce el número de clústeres libres y debe calcularse.
  • FSI_Nxt_Free. Un campo de cuatro bytes en la dirección 0x1EC contiene el número de clúster a partir del cual debe comenzar la búsqueda de clústeres libres en la tabla de punteros de índice. Normalmente, este campo contiene el número del último clúster FAT asignado para almacenar el archivo. El valor 0xFFFFFFFF significa que la búsqueda de un clúster libre debe realizarse desde el principio de la tabla FAT, es decir, desde el segundo clúster.
  • FSI_Reservado2. Campo reservado de 12 bytes en la dirección 0x1F0.
  • FSI_TrailSig. Firma 0xAA550000: los últimos 4 bytes del sector FSInfo.

El objetivo de introducir FSInfo es optimizar el rendimiento del sistema, ya que en FAT32 la tabla de punteros de índice puede ser grande y su búsqueda byte por byte puede llevar mucho tiempo. Sin embargo, los valores de los campos FSI_Free_Count y FSI_Nxt_Free pueden no corresponder a la realidad y se debe verificar su adecuación. Además, ni siquiera se actualizan en la copia de seguridad de FSInfo, que suele estar ubicada en el sector 7.

Determinación del tipo de volumen FAT

El sistema operativo determina el tipo de volumen FAT (es decir, la elección entre FAT12, FAT16 y FAT32) en función de la cantidad de clústeres en el volumen, que a su vez se determina a partir de los campos BPB. En primer lugar, se calcula el número de sectores del directorio raíz:

RootDirSectors = (BPB_RootEntCnt * 32) / BPB_BytsPerSec

DataSec = TotSec - (BPB_ResvdSecCnt + (BPB_NumFATs * FATSz) + RootDirSectors)

Finalmente, se determina el número de grupos de áreas de datos:

CountofClusters = DataSec / BPB_SecPerClus

Por el número de clústeres, existe una correspondencia uno a uno con el sistema de archivos:

  • CountofClusters< 4085 - FAT12
  • Recuento de clústeres = 4085 ÷ 65524 - FAT16
  • Recuento de clústeres > 65524 - FAT32

Según la especificación oficial, esta es la única forma válida de determinar el tipo de FAT. La creación artificial de un volumen que infrinja las reglas de asignación especificadas hará que Windows lo maneje incorrectamente. Sin embargo, se recomienda evitar valores de CountofClusters que estén cerca de los valores críticos (4085 y 65525) para determinar correctamente el tipo de sistema de archivos por cualquier controlador, a menudo escrito incorrectamente.

Con el tiempo, FAT se volvió ampliamente utilizado en varios dispositivos para la compatibilidad entre DOS, Windows, OS / 2, Linux. Microsoft no ha mostrado ninguna intención de obligarlos a obtener una licencia [ aclarar] .

En febrero de 2009, Microsoft demandó a TomTom, un fabricante de sistemas de navegación para automóviles basados ​​en Linux, por infracción de patente.

notas

  1. http://cd.textfiles.com/megademo2/INFO/OS2_HPFS.TXT
  2. www.microsoft.com/mscorp/ip/tech/fathist.asp en archive.org
  3. Iniciativa de firmware extensible de Microsoft FAT32 Especificación del sistema de archivos 1.03. Microsoft (6 de diciembre de 2000). - Formato del documento Microsoft Word, 268 Kb. Archivado
  4. ¿Qué pasa con VFAT? . Archivo de TechNet. Microsoft (15 de octubre de 1999). Archivado desde el original el 22 de agosto de 2011. Consultado el 5 de abril de 2010.
  5. No confunda la extensión del sistema de archivos VFAT con el controlador del sistema de archivos del mismo nombre, que apareció en Windows for Workgroups 3.11 y está diseñado para procesar llamadas a funciones de MS-DOS (INT 21h) en modo protegido (consulte: KB126746: Historial de versiones de Windows para trabajo en grupo. VERSIÓN 3.11 → Funciones fuera de la red. Microsoft (14 de noviembre de 2003). Archivado desde el original el 22 de agosto de 2011. Consultado el 5 de abril de 2010.)
  6. El Tribunal Federal de Patentes declara nula y sin efecto la patente FAT de Microsoft. Heise en línea. Heise Zeitschriften Verlag (2 de marzo de 2007). Archivado
  7. Brian Kahin. Microsoft enturbia al mundo con patentes FAT. The Huffington Post (10 de marzo de 2009). Archivado desde el original el 22 de agosto de 2011. Consultado el 10 de marzo de 2009.
  8. Ryan Pablo. La demanda de Microsoft por las patentes FAT podría abrir la caja de Pandora de OSS (inglés) . Ars Technica. Publicaciones de Condé Nast (25 de febrero de 2009). Archivado
  9. Glyn Moody.(Inglés) . ComputerworldReino Unido. IDG (5 de marzo de 2009). Archivado desde el original el 22 de agosto de 2011. Consultado el 9 de marzo de 2009.
  10. Steven J. Vaughan-Nichols. Las empresas de Linux firman los pactos de protección de patentes de Microsoft. blogs. IDG (5 de marzo de 2009). Archivado desde el original el 22 de agosto de 2011. Consultado el 9 de marzo de 2009.
  11. Érica Ogg. TomTom contrademanda a Microsoft en disputa de patentes. CNet (19 de marzo de 2009). Archivado desde el original el 22 de agosto de 2011. Consultado el 20 de marzo de 2009.

Enlaces

  • Estándar ECMA-107 FAT