Sistemas de archivos populares. Sistemas de archivos modernos: qué elegir para el almacenamiento externo y por qué. Sistema de archivos ext2

Para garantizar el funcionamiento normal de una computadora personal, se requiere la instalación de muchos programas y servicios necesarios.

¿Qué es un sistema de archivos?

Un elemento indispensable del sistema operativo son los sistemas de archivos, que brindan acceso a la información en el disco cuando varios procesos se ejecutan simultáneamente. Es decir, proporcionan un cómodo acceso a los datos contenidos en el disco, al tiempo que eliminan posibles situaciones incorrectas.

El sistema de archivos también tiene acceso versátil a la información: desde clasificarla y moverla hasta eliminarla. La pregunta surge naturalmente: ¿qué sistema de archivos es mejor, qué tan fácil es de usar y cuáles son sus garantías?

Sistemas de archivos populares

  1. El más popular es el sistema de archivos FAT. Su único inconveniente obvio es el número limitado de caracteres al nombrar un archivo, lo que reduce significativamente la eficiencia de la gestión de datos.
  2. Este defecto se eliminó en desarrollos posteriores del sistema NTFS. Dado que todos los sistemas operativos colocan su información en discos, los sistemas de archivos son simplemente insustituibles aquí y deben realizar sus funciones de manera eficiente, sin fallas. En cuanto al sistema de archivos NTFS, se caracteriza por una propiedad tan necesaria como la recuperación automática después de casi cualquier situación incorrecta.

Sistema de archivos NTFS

Otra característica muy importante: este sistema, cuando los datos cambian, completa positivamente el proceso o lo cancela por completo, lo que no permite confusión y confusión en el campo de la información. NTFS tiene una opción útil: la compresión de archivos. Al mismo tiempo, se puede aplicar a archivos individuales, lo que no afecta en absoluto la calidad de los datos ni el trabajo con ellos.

Muchos expertos, discutiendo qué sistema de archivos es mejor en términos de seguridad, lo llaman NTFS, ya que este sistema contiene muchas herramientas destinadas a diferenciar los derechos de los objetos. Como sucede a menudo, la teoría es impotente sobre la práctica: en el uso real, el sistema está lejos de ser ideal.

Sistema de archivos FAT

En relación con todo lo anterior, FAT satisfizo las necesidades de los primeros sistemas operativos. Pero cuando apareció el acceso a grandes cantidades de memoria, debido a sus limitaciones, perdió terreno frente a sistemas más progresivos. Pero al mismo tiempo, FAT funciona de manera más eficiente con directorios de archivos pequeños y es ideal para discos lentos.

Desafortunadamente, un sistema de este tipo no se adaptará a archivos grandes y constantemente surgirán diversas dificultades. Al elegir un sistema de archivos, es importante decidir las tareas que les presentará. Por lo tanto, si es necesario trabajar con discos grandes, información obstruida y a alta velocidad, entonces, en este caso, NTFS es más adecuado. Para los usuarios que tienen la intención de realizar operaciones normales con datos y no necesitan usar programas complejos, en tal situación, el sistema de archivos FAT será más efectivo.

Sistema de archivos para una unidad flash

El mejor sistema de archivos para una unidad flash es un problema bastante urgente, ya que este tipo de almacenamiento de información es el más popular en la actualidad, muchos creen que una unidad flash necesita algún tipo de sistema especial. Muchos usuarios hablan bien del sistema UDF, ya que casi todos los sistemas operativos modernos lo admiten fácilmente. Pero los sistemas de archivos descritos anteriormente también harán frente perfectamente a todas las acciones necesarias. Por lo tanto, puede elegir con seguridad a favor de cualquiera de ellos, porque todos tienen un alto grado de seguridad y eficiencia en el uso.

Hubo un momento en que la pregunta en el título de un artículo simplemente no confrontaba a los usuarios. A pesar de que había más de un sistema de archivos incluso antes de que aparecieran las primeras PC, normalmente no había otra opción. Simplemente porque había muchas arquitecturas de computadora incompatibles (o sólo parcialmente compatibles) diferentes, cada una estaba respaldada por una empresa específica que usaba su propio sistema operativo y tenía sus propias ideas sobre "lo que es bueno y lo que es malo". Además, los soportes de datos utilizados eran diferentes e incompatibles entre sí. Y si son hardware compatible (por ejemplo, las unidades de disquete fueron utilizadas por muchos sistemas informáticos y los principales tamaños estándar de unidades a nivel de hardware estaban al menos estandarizados), entonces los datos se organizaron a su manera. Las unidades de cinta resultaron ser más o menos compatibles, ya que históricamente sucedió que desde los días de las computadoras "grandes", se usaban con mayor frecuencia para intercambiar datos entre sistemas de diferentes arquitecturas. Pero las únicas grabadoras de cinta masivas que se usaron junto con computadoras personales resultaron ser domésticas, y la primitividad de los casetes compactos típicos llevó al hecho de que todos los fabricantes, si los usaban, intentaban "exprimir" al máximo los medios, y todos lo hicieron de diferentes maneras.

La situación mejoró solo cuando quedó claro que la línea IBM PC (la progenitora de casi todas las arquitecturas de PC sobrevivientes) se está convirtiendo gradualmente en el estándar de facto en la industria (y no solo). Bueno, cuando aparece una arquitectura dominante en el mercado, todos los demás se ven obligados a tener esto en cuenta, por razones de supervivencia. Los disquetes eran el principal medio extraíble en ese momento, por lo que el formato utilizado por IBM rápidamente resultó ser un medio para garantizar la compatibilidad. Lejos de ser el mejor, cabe señalar. Y no solo en términos de hardware, aunque también lo es, a pesar de que las primeras unidades de 3,5 ″ aparecieron en el mismo año que las primeras PC, y muchos fabricantes comenzaron a usarlas en la primera mitad de los años 80, la propia IBM I Cambié a esta construcción solo en 1987, y hasta ese momento me aferraba a las unidades de cinco pulgadas, presentadas en el mercado en 1976. Sin embargo, desde el punto de vista del formateo, los desarrollos "originales" de IBM eran inferiores incluso a muchos clones de sus computadoras; en particular, la compañía almacenaba solo 360 KB de información en disquetes de doble densidad de doble cara, mientras que los competidores de ellos exprimió 600-720 KB sin ningún truco especial. ... Y solo los perezosos no hablaron sobre la primitividad del sistema de archivos FAT. Aunque, muy posiblemente, fue la primitividad la que se convirtió en la segunda razón para convertir los "disquetes de pisyuk" en un estándar, era muy fácil de mantener. Aunque solo sea para lectura y además de su propia versión "avanzada".

Sin embargo, desde el punto de vista actual, todo esto sólo tiene valor histórico. Hace tiempo que los disquetes dejaron de utilizarse como el principal medio de transferencia de información, y en la mayoría de los segmentos del mercado no quedan alternativas a la línea de computadoras "basadas en x86". Sin embargo, no se puede decir que esto resolvió por completo todos los problemas. El hecho es que hay casi más sistemas operativos que se ejecutan en esta plataforma estándar única de los que había en el momento en que "todas las flores estaban floreciendo". Incluso si tomamos la familia más común en el mercado, a saber, Windows, es, estrictamente hablando, heterogénea. La mayoría de las instalaciones todavía se encuentran en Windows XP, originalmente de principios de siglo, pero ocupando casi 2/3 del mercado. Aproximadamente una cuarta parte de este último corresponde a las versiones modernas de Windows, y todo el resto es una mezcolanza compuesta de equipos supervivientes con sistemas que aparecieron antes de Windows XP (no hay muchos de ellos ahora, pero todavía se encuentran), varios versiones de MacOS y un montón de sistemas UNIX. Pero incluso si tiene la suerte de no haber encontrado nada más que Windows XP en la vida práctica, esto no resuelve completamente el problema, una vez que las tecnologías "informáticas" han ido más allá de este mercado, invadiendo activamente el campo de la electrónica de consumo. Por ejemplo, la mayoría de los reproductores de video actuales pueden funcionar con unidades USB, y una variedad de tarjetas de memoria se usan comúnmente en cámaras o teléfonos móviles. Y aquí todo resulta simple solo si, por ejemplo, la tarjeta se usa exclusivamente en "nuestra" cámara; la formateamos mediante la cámara y nos olvidamos de este problema para siempre :) Sin embargo, si necesitamos al menos intercambiar datos con una computadora, entonces todo no es tan obvio ...

La razón del problema es que casi todos los sistemas operativos modernos, con raras excepciones, no admiten un sistema de archivos (como lo era hace 20-30 años), sino varios. Además, el grado de su apoyo puede ser completamente diferente. Y a veces modificable con programas adicionales. Hay muchas opciones, por lo que no intentaremos cubrirlas todas en un artículo pequeño. Pero intentaremos dar una cantidad suficiente de información básica para entender "dónde excavar". Y para ello basta con familiarizarse con los principales sistemas de archivos disponibles, así como sus ventajas y desventajas.

FAT: viejo, limitado, pero omnipresente

Comenzaremos con el sistema de archivos más antiguo, que se remonta a los días de MS DOS, pero que, sin embargo, todavía se encuentra a veces. Las características positivas del sistema incluyen la simplicidad, la compacidad de las áreas de servicio y un largo período de presencia en el mercado. En general, las dos primeras ventajas se derivan directamente de la tercera: en 1980, cuando apareció el sistema, las computadoras eran tan "poderosas" y los medios de almacenamiento eran tan "espaciosos" que era simplemente imposible utilizar nada complicado. Sin embargo, la versión original, a saber, FAT12, ha dejado de ser ampliamente utilizada debido al hecho de que el tamaño de un disco con este sistema no puede exceder los 32 MiB. Aunque, por supuesto, algunas cámaras e incluso videocámaras aún logran conectar una tarjeta flash de este tamaño o incluso más pequeño, pero aún así no funcionará para usarlas completamente en tal configuración.

Pero FAT16, que apareció hace 23 años, ya es más interesante, ya que el tamaño tanto del archivo como de la partición ya se ha llevado a 2 GiB (para aquellos que aún no han tenido tiempo de acostumbrarse a los prefijos binarios, este es un poco más de 2 gigabytes). Teóricamente, la capacidad de una partición puede llegar a 4 GiB cuando se utilizan clústeres de 64 KB, pero esta opción no es estándar, por lo que no se admite en todas partes. Los sistemas que comienzan con Windows NT4 y los más nuevos de esta línea pueden funcionar en equipos con dicha partición, pero ni los electrodomésticos ni la mayoría de los sistemas "alternativos" son compatibles con ellos. Por lo tanto, esta opción puede considerarse completamente adecuada solo para unidades de baja capacidad. Los usuarios todavía tienen mucho de estos últimos, pero no están a cargo. Pero en los días de las unidades flash de hasta un gigabyte de tamaño, FAT16 era muy relevante en vista, simplemente, de los requisitos de pequeño volumen para sus necesidades. Entonces, por ejemplo, en una unidad flash de 128 MB formateada para FAT16, quedan disponibles para el usuario 128 621 744 bytes, y si usa FAT32 - 127 921 152 bytes. Por un lado, un poco, pero por el otro, hace unos cinco años, 700 KB "extra" no estaban en el camino. No en vano, Microsoft no recomienda el uso de FAT32 en particiones de menos de 512 MB, por lo que solo puede formatearlas a algo que no sea FAT16 utilizando herramientas de terceros.

La última área de aplicación aún real de este sistema son los teléfonos, reproductores, cámaras y otros "artículos para el hogar", diseñados para admitir tarjetas SD o microSD, pero que no son compatibles con SDHC (ahora esto ya no se produce, pero todavía está en uso ). El sistema de archivos estándar para estas tarjetas es solo FAT16, por lo que la mayoría de estos dispositivos no son compatibles con otros. En este caso, es muy deseable formatear la tarjeta exclusivamente en el dispositivo, pero no hacerlo en la computadora. La razón es que Windows XP (al menos, se sabe con certeza al respecto) a veces logra formatear la tarjeta en FAT32 cuando se lo indica explícitamente el FS, después de lo cual la misma cámara puede no verla e incluso no ofrecer la oportunidad de reformatear. . El problema debe resolverse con algún programa de formateo alternativo, nuevamente en la computadora.

FAT32 es un compromiso razonable entre compatibilidad y otras características

A diferencia de su predecesor, FAT32 es ahora el sistema de almacenamiento externo más popular. El 90% de las unidades flash y más de la mitad de VZD provienen de fábricas formateadas específicamente para ello. ¿Porque? En términos de compatibilidad, es solo un poco peor que FAT16, solo que los sistemas operativos demasiado antiguos quedan detrás de escena. Inicialmente, la compatibilidad con FAT32 apareció en agosto de 1996 junto con Windows 95 OSR2: si alguien ahora usa un sistema operativo más antiguo en su computadora, es poco probable que le conecten una unidad externa moderna :) Y en la mayoría de los casos, no podrá hacerlo.

Sin embargo, a veces usar FAT32 ya es un inconveniente, lo que hace necesario usar otros sistemas. La principal y más significativa desventaja es que los archivos no pueden superar los 4 GiB. En consecuencia, no funcionará almacenar imágenes de DVD, archivos muy grandes o algunas películas en la unidad. Por el contrario, se puede hacer, pero hay que partirlas en partes y luego "pegarlas" antes de usarlas, lo cual es muy inconveniente. O tal división debe preverse de antemano, lo que a veces se hace, pero no siempre. Esta es la razón por la que es necesario utilizar otros sistemas de archivos, aunque con menos soporte del hardware, pero sin la limitación del tamaño del archivo. A juzgar por nuestra conferencia, por cierto, este problema ha sido bastante agudo últimamente: muchos usuarios, habiendo comprado un disco duro externo o una unidad flash, literalmente en los primeros días intentan escribir un archivo muy grande allí y ... . Y hay algo de lo que sorprenderse: de manera amistosa, los creadores del sistema operativo podrían manejar esta situación de una manera más correcta, informando al usuario que el sistema de archivos que se está utilizando no es adecuado para escribir este archivo; de lo contrario, todo parece muy extraño: hay una docena o incluso un centenar (o incluso varios cientos) de gigabytes de espacio libre, e informan sobre su escasez cuando intentan escribir un archivo de solo 5-6 gigabytes de tamaño. Nosotros, por supuesto, no pensamos que tras la publicación de este artículo desaparezcan los mensajes correspondientes en el foro, pero esperamos que, al menos, se vuelvan un poco menos :)

Pero, en teoría, el tamaño de un volumen formateado para FAT32 puede ser de hasta 8 TiB, que es mucho incluso hoy (sin mencionar el momento en que se creó el sistema). Sin embargo, no todo es tan simple: Microsoft, por ejemplo, cree que no es deseable hacer volúmenes superiores a 32 GiB. Y no solo cuenta, sino que introdujo las restricciones adecuadas en los formateadores integrados de Windows XP y las versiones más recientes de su sistema. Se obtiene un resultado especialmente triste cuando se intenta formatear, por ejemplo, una unidad flash de 64 GB utilizando medios estándar: para FAT32 (según Microsoft) es demasiado grande, y NTFS en medios extraíbles (de nuevo, según Microsoft) no debería ser usado. Ambos problemas se pueden resolver fácilmente utilizando utilidades de formato de terceros. Entonces, por ejemplo, un programa de consola simple fat32format funciona silenciosamente con volúmenes de hasta 2 TB (máximo para particiones no dinámicas en Windows XP).

Por cierto, no todo va bien con Windows 98 o ME, a pesar de que no hay alternativa a usar FAT32 para ellos. El hecho es que algunas utilidades integradas en estos sistemas se han mantenido en 16 bits. Bueno, dado que para tales programas el tamaño máximo del bloque de memoria direccionable es de aproximadamente 16 MB, las particiones en las que la tabla FAT es más grande son inaccesibles para ellos. Traducido a un lenguaje simple, esto significa la imposibilidad de utilizar completamente particiones mayores de ≈127,5 GiB (aproximadamente 133 GB). Más precisamente, puede intentar algo, pero con cuidado, sin intentar "incitar" a varias utilidades de disco en dicha partición: en el mejor de los casos (herramientas estándar) simplemente no funcionarán y, en el peor, pueden estropear los datos. O, como seguro, simplemente puede dividir las unidades que planea usar con Windows 9x en particiones de cien gigabytes. Tenga en cuenta que estos sistemas operativos siguen siendo más leales a los discos externos que a los internos: obtener acceso a un disco duro interno con más de 137 GB bajo su control no es del todo trivial, pero para una unidad USB, los volúmenes más grandes son aceptables sin ningún problema. , con la excepción de la inoperancia de las utilidades de disco.

Otros sistemas operativos no tienen tales problemas, y los descritos, en principio, se pueden resolver. Esto nos permite considerar este sistema de archivos como óptimo para aquellos casos en los que se requiera asegurar la máxima compatibilidad de un disco externo con toda la gama de computadoras y electrodomésticos. Especialmente en los casos en los que no se espera el almacenamiento de archivos de más de 4 GB, no habrá inconvenientes notables en la práctica.

NTFS: rápido, potente, pero redundante

Hasta hace poco, este sistema de archivos era la única forma confiable de solucionar el "problema de los archivos grandes" en las computadoras con Windows. Por supuesto, no todas las versiones de Windows: la línea 9x, en principio, no es compatible con NTFS, pero la compatibilidad con estos sistemas ya es importante, por decirlo suavemente, no para todos. Peor aún, la compatibilidad con NTFS es poco común en los electrodomésticos. Pero recientemente lo ha sido. Además, estas particiones también son compatibles con computadoras que ejecutan MacOS o Linux; al menos pueden leer datos de dichas particiones, y cuando se instalan controladores especiales, la función de escritura a menudo comienza a funcionar. Con la ayuda de controladores adicionales, por cierto, el soporte NTFS se puede "atornillar" a Windows 98 o incluso a DOS.

¿Por qué es bueno este sistema? En primer lugar, las restricciones tanto en el tamaño del volumen como en el tamaño del archivo pueden considerarse ausentes: ambos pueden ser de hasta 16 exabytes (para mejorar la percepción, le informaremos que hay alrededor de un millón de terabytes en un exabyte). En segundo lugar, puede obtener una mayor velocidad de trabajo, especialmente si se encuentra con directorios que contienen una gran cantidad de archivos; por ejemplo, cuando hay varios miles, la diferencia en la velocidad de FAT32 y NTFS se nota a simple vista. En tercer lugar, este sistema es más tolerante a fallas, al menos debido al registro. En cuarto lugar, es capaz de trabajar con pequeños clústeres (más precisamente, no solo es capaz, sino que también está diseñado para esto), por lo que la pérdida de espacio en disco al almacenar archivos pequeños en NTFS es notablemente menor que la de FAT32, por no mencionar. exFAT. En quinto lugar, el soporte de compresión de datos incorporado es una característica bastante conveniente. Por supuesto, el archivo sobre la marcha es mucho menos eficiente que el uso de programas de archivo especiales con algoritmos serios, pero se realiza de manera transparente para el usuario y, cuando se almacenan datos bien comprimibles, produce un efecto notable. En general, no es sorprendente que NTFS sea el sistema dominante en los discos duros internos en este momento.

Pero por fuera también tiene desventajas. El más inofensivo de ellos es la imposibilidad en la práctica de obtener muchas de las ventajas del sistema. En particular, en este momento, rara vez alguien transfiere archivos sin comprimir: incluso si hablamos de documentos de oficina, desde 2007 se han comprimido automáticamente al guardar, y no hay nada que decir sobre archivos de fotos o video, por lo que el soporte de compresión incorporado es sin trabajo (e incluso interfiere con más frecuencia que viceversa). Y una gran cantidad de archivos en un directorio son raros: una docena de archivos muy grandes son mucho más típicos. (Al mismo tiempo, esto anula los beneficios de los clústeres pequeños). Además, el rendimiento mejorado debido al almacenamiento en caché puede ser un arma de doble filo: es muy indeseable desconectar unidades formateadas para NTFS de la computadora sin utilizar Safe Removal o sus equivalentes. Todos estos inconvenientes son inherentes a cualquier disco externo, pero existen otros adicionales para aquellos basados ​​en memoria flash. Primero, se recomienda deshabilitar el registro en diario en este caso (dado que el recurso de las unidades flash masivas es limitado, por lo que no necesitan registros de archivos "adicionales"). En segundo lugar, el rendimiento de estas unidades depende significativamente de la alineación de todas las estructuras y clústeres de FS a lo largo de los límites de los bloques de borrado, lo cual también es relevante para FAT, pero para NTFS, con su pequeño tamaño de clúster (así como el amor de muchos programas , incluida la utilidad estándar que formatea Windows XP, compensar el comienzo de la partición en 63 sectores) puede ser muy crítico. Y en general, como muestra la experiencia de muchos usuarios, los mejores resultados de velocidad son más fáciles de lograr usando un tamaño de clúster de 32 KB, es decir, no menos que para FAT32.

Agreguemos problemas de compatibilidad a esto, después de lo cual se vuelve obvio que el uso de NTFS en medios extraíbles a menudo no está muy justificado. Sin embargo, como se muestra arriba (y se mostrará a continuación), a veces esta opción es indiscutible.

exFAT: el futuro de las unidades flash y más

En una situación en la que FAT32 ya no es suficiente y NTFS no es óptimo, no es sorprendente que Microsoft haya finalizado una vez más (10 años después de la aparición de FAT32) FAT. La nueva versión, llamada exFAT, debutó en Windows CE 6 porque era más relevante para sistemas embebidos y electrodomésticos, pero más tarde apareció soporte para ella en computadoras de escritorio. ¿En qué se diferencia el nuevo producto de la versión anterior?

En primer lugar, se eliminó la limitación del tamaño del archivo; al igual que la versión de los sistemas para "adultos", puede alcanzar los 16 exabytes. En segundo lugar, se ha aumentado el tamaño del clúster: si para los sistemas anteriores tenía que mantenerse dentro de los 32 KB (a veces usando la opción de 64 KB no es compatible con todos), entonces en exFAT el tamaño máximo del clúster es 32 MiB, es decir, aumentado en 1024 veces. Por supuesto, esto es extremadamente inconveniente en el caso de archivos pequeños, pero ahora no son muy relevantes como objeto de transporte, pero el tamaño de la tabla de asignación de archivos se redujo en consecuencia y, por lo tanto, los requisitos para la cantidad de RAM para trabajar con grandes volúmenes han disminuido. ... Naturalmente, para exFAT, se canceló la limitación voluntarista de 32 GiB para el tamaño del volumen; ya no lo necesita :) Los primeros en usar esto, por cierto, fueron los fabricantes de tarjetas de memoria SD, que están bastante rígidamente vinculados a los estándares FAT. Para las especificaciones de las versiones SD 1.x, FAT16 fue el estándar (que determinó la capacidad máxima de la tarjeta de 2 GB), la versión 2.0 se enfoca en FAT32 (tarjetas SDHC de hasta 32 GB) y en la nueva versión 3.0 para grandes volúmenes. tarjetas, exFAT es el estándar (respectivamente, las tarjetas SDXC no tienen limitaciones de capacidad apreciables desde el punto de vista del uso práctico).

No se puede decir que todas las mejoras fueron solo cuantitativas, también hubo mejoras cualitativas. En particular, se han eliminado las restricciones sobre la cantidad de archivos en un directorio. No es que fueran un gran obstáculo antes, pero sin embargo, ahora, por ejemplo, los fabricantes de cámaras no tienen que poner fotos en carpetas, pero puedes escribir todo con calma en la raíz de la tarjeta. Una mejora más significativa: ha aparecido un mapa de bits de espacio libre que, si se usa correctamente, puede reducir la fragmentación (anteriormente, la selección del espacio libre en disco más adecuado también era posible, pero a costa de utilizar activamente los recursos del sistema para cada operación). Naturalmente, no hay registro en el diario dentro del marco del nuevo sistema; es demasiado simple para esto, y para las unidades flash (a las que está dirigido principalmente exFAT) esta operación no es deseable. Pero también previeron el potencial para aumentar la tolerancia a fallas: el soporte para transacciones es posible (por supuesto, si es compatible con el dispositivo host).

En general, el sistema resultó ser increíblemente bueno: hay todo lo que necesita y nada es innecesario. ¿Por qué todavía tiene que luchar con la elección y no cambiarse a exFAT en todas partes? Pero debido a que para una unidad externa, como se ha dicho más de una vez, la compatibilidad sigue siendo una "vaca sagrada", ¿cuál es el punto en las características del sistema de archivos que usa en una unidad flash, si puede usar esta unidad flash solo en cada décima computadora? exFAT todavía se encuentra en una situación similar. Se garantiza que se utilizará únicamente en equipos que ejecuten Windows Vista con SP1, Windows Server 2008 y Windows Seven. Parece que el soporte también está disponible en MacOS X 10.6, pero esto probablemente requerirá una actualización del sistema; por cierto, es muy posible que Apple no admita el nuevo desarrollo de Microsoft, sin embargo, la compañía decidió integrar la tarjeta. lectores con soporte para tarjetas SDXC en la última línea de computadoras, y esto necesariamente requería compatibilidad con exFAT. Para Linux, tendrá que integrar el controlador usted mismo (y hay dos de ellos: el normal solo admite lectura y el de escritura solo con FUSE). Los usuarios de Windows XP fueron un poco más afortunados: a principios de 2009, apareció la actualización oficial KB955704 en Windows Update, agregando soporte exFAT a los sistemas con SP2 y SP3, pero no es obligatorio, por lo que no se encuentra en todas las computadoras. Con los electrodomésticos, todo es tan triste como con las versiones anteriores de Windows: algunos dispositivos modernos con soporte SDXC son una feliz excepción (no tienen a dónde ir), pero en el resto es más fácil encontrar soporte para NTFS que exFAT.

Otros exóticos, a veces útiles

Le guste a alguien o no, en este momento, la mayoría de las computadoras personales (alrededor del 95%) están ejecutando uno de los sistemas de la familia Windows, y esta participación se distribuye principalmente entre Windows XP, Vista y Seven. En consecuencia, lo más relevante es la elección entre los sistemas de archivos enumerados, porque solo ellos son compatibles con este triple sin ningún ajuste especial. Tiene sentido pensar en otra cosa solo si la compatibilidad con Windows no le molesta en principio: a pesar de que hay controladores para Windows que admiten la mayoría de los sistemas de archivos "nativos" para otros sistemas operativos, instálelos en todas las computadoras - un trabajo ingrato. Por lo tanto, independientemente de las ventajas y desventajas de algunos ext3, solo se puede usar en el caso de que el disco externo se opere de forma estacionaria o cerca de eso.

La única excepción parcial a la regla es el sistema de archivos HFS +, tradicional para MacOS X. Y el punto no son ni siquiera algunas de sus cualidades especiales, sino el hecho de que este sistema operativo tiene una cuota de mercado pequeña pero monolítica (que no se puede decir a veces incompatibles entre sí "Linux"). Además, a pesar de la baja prevalencia a escala mundial, hay países donde el nicho de MacOS es bastante tangible. Esto coloca a HFS + en una posición privilegiada. Hasta el punto de que algunos fabricantes venden versiones especiales de discos duros externos "para Mac" formateados para HFS + (no FAT32 o NTFS, que son los más comunes) directamente de fábrica. Esto no implica ni la inadecuación de otros discos duros para Mac, ni la imposibilidad de utilizar los "Mac" en otros equipos. Además, para intercambiar datos entre Mac y otros sistemas, generalmente es más conveniente usar FAT32, que está garantizado para funcionar en la mayoría de los casos. ¿Cuál es la ventaja de HFS +? El hecho de que el sistema integrado para realizar copias de seguridad y restaurar la información de Time Machine sea compatible solo con discos con este sistema de archivos. Por lo tanto, si está utilizando una unidad para hacer una copia de seguridad de los datos en una Mac, no tiene otra opción. Bueno, si a veces es necesario conectar este dispositivo externo a otras computadoras, sería bastante lógico instalar controladores especiales con soporte HFS + en ellos. Sin embargo, particionar el disco en un par de particiones no será la peor opción: una pequeña con FAT32 permitirá que diferentes sistemas intercambien datos, y la partición HFS + te dará la oportunidad de no negarte nada cuando trabajes en MacOS X .

A veces, la compra de una versión especial de un disco duro externo "para Mac" también puede justificarse para un usuario de Windows; por regla general, todos estos modelos están equipados con una interfaz FireWire (a veces FireWire-800) además de USB 2.0, que puede ser útil. No habrá problemas con el sistema de archivos: desde el punto de vista de Windows, los discos duros formateados para HFS + no contienen ninguna estructura de datos, por lo que solo creamos una partición (o particiones) y la formateamos de la manera que necesitamos.

Preguntas frecuentes en lugar de conclusión

En principio, la información anterior, en nuestra opinión, es suficiente para determinar en cualquier caso la elección correcta del sistema de archivos en la unidad externa, así como para resolver los posibles problemas que surjan. Sin embargo, para facilitar su uso, decidimos mover las preguntas principales (las más frecuentes) a un artículo separado.

Para que una computadora personal funcione normalmente, es necesario instalar muchos servicios y programas, y probablemente todos lo sepan.

Primero, entendamos qué es un sistema de archivos.

Los sistemas de archivos que brindan acceso a la información que se encuentra en el disco cuando se ejecutan varios procesos simultáneamente son un elemento indispensable del sistema operativo. Los sistemas de archivos brindan un acceso conveniente a los datos contenidos en el disco, al tiempo que eliminan todo tipo de situaciones incorrectas.

Además, el sistema de archivos tiene acceso versátil a la información, es decir, desde clasificarla y moverla hasta eliminarla. Naturalmente, surge la siguiente pregunta: ¿Cuál es el mejor sistema de archivos? ¿Es fácil de usar? ¿Y cuáles son sus garantías?

¿Cuáles son los sistemas de archivos más populares que existen?
El sistema de archivos más popular, que viene primero, es FAT. Pero tiene un claro inconveniente, expresado en el número limitado de caracteres a la hora de nombrar el archivo, lo que reduce en gran medida la eficiencia de la gestión de datos.

Esta falla se eliminó en desarrollos posteriores del sistema NTFS. Debido a que todos los sistemas operativos colocan su información en discos, los sistemas de archivos son indispensables aquí y deben realizar sus funciones de manera eficiente, sin fallas. Qué se puede decir sobre el sistema de archivos NTFS. Este sistema de archivos se caracteriza por propiedades tan necesarias como la autorrecuperación después de situaciones incorrectas.

Ahora hablemos de cada sistema de archivos por separado.

Sistema de archivos NTFS
Este sistema de archivos tiene una característica muy importante, a saber, cuando los datos cambian, termina positivamente el proceso o lo cancela por completo, lo que no permite confusión y confusión en el campo de la información. Este sistema de archivos tiene una opción bastante útil: la compresión de archivos. Al mismo tiempo, se puede aplicar a archivos individuales, lo que no afecta en absoluto el trabajo con datos y su calidad.

La mayoría de los expertos creen que el sistema de archivos más seguro es NTFS. Y todo gracias a que contiene una gran cantidad de fondos que tienen como objetivo diferenciar los derechos de los objetos.

Sistema de archivos FAT
Este sistema FAT satisfizo las necesidades de los sistemas operativos anteriores. Pero cuando apareció el acceso a grandes cantidades de memoria, el sistema de archivos perdió terreno a favor de los sistemas progresivos debido a sus limitaciones. El sistema de archivos FAT es ideal para discos lentos y funciona muy bien con directorios de archivos pequeños. Desafortunadamente, este sistema de archivos no puede manejar archivos grandes.

Antes de elegir un sistema de archivos, debe decidir las tareas que le pondrá por delante. Por lo tanto, si planea trabajar con discos grandes que están completamente llenos de información y a alta velocidad, entonces, en este caso, el sistema de archivos del que hablamos anteriormente, es decir, NTFS, es ideal.

Para ser honesto, mucha gente está pensando en encontrar el mejor sistema de archivos para su computadora. Los usuarios de Windows y MacOS X tienen pocas opciones, con solo un sistema de archivos estándar disponible, NTFS y HFS +. En el sistema operativo Linux, las cosas son diferentes, hay muchos sistemas de archivos disponibles para todos los gustos. Ext4 se usa mucho en Linux, pero hay varias razones para probar algo nuevo. Por ejemplo, btrfs vs xfs. Pero, ¿es ella realmente mejor que los demás? Primero veamos los sistemas de archivos más populares y cómo funcionan, por así decirlo, hagamos una pequeña comparación.

Si no está familiarizado con los conceptos básicos de los sistemas de archivos, permítame decir algunas palabras sobre esto para que pueda comprender mejor la diferencia entre btrfs vs ext4 vs xfs. Los sistemas de archivos se utilizan para controlar cómo se escriben los datos en el disco, acceder a estos datos y también almacenar información, metadatos sobre archivos. No es fácil de programar, pero los sistemas de archivos están en constante evolución. Las nuevas funciones se mejoran constantemente y se vuelven más eficientes.

¿Por qué necesitamos particiones?

Muchos usuarios tienen ideas vagas sobre por qué se necesitan particiones de disco. Todos los sistemas operativos admiten la creación y eliminación de particiones. Linux usa más de una partición en un disco, incluso cuando se usa el procedimiento de instalación estándar. Uno de los principales objetivos de la partición de discos es mejorar la seguridad en caso de errores.

Al dividir un disco duro en particiones, los datos se pueden agrupar y dividir. Si se producen errores, solo se perderán los que estaban en la partición dañada. Es probable que los datos de todas las demás particiones permanezcan intactos. Esto era especialmente importante cuando los sistemas de archivos de registro por diario aún no existían en Linux y cualquier corte de energía inesperado podía provocar un desastre.

Mejorar la seguridad y confiabilidad del uso de particiones significa que si una parte del sistema operativo se daña, los datos de otras particiones permanecerán disponibles. Por el momento, este es el factor más importante en el uso de particiones. Por ejemplo, los usuarios pueden usar scripts o programas que llenan el espacio en disco. Si el disco contiene solo una partición grande, cuando se agote el espacio libre, el sistema dejará de funcionar por completo. Pero si los usuarios almacenan datos en diferentes particiones, entonces el desbordamiento afectará solo a una partición, y el sistema y otras particiones continuarán funcionando normalmente.

Recuerde que un sistema de archivos registrado solo protege contra daños por cortes de energía y desconexiones inesperadas de dispositivos de almacenamiento. Pero no lo protegerá de bloques defectuosos y errores lógicos en el sistema de archivos. En tales casos, se debe utilizar una matriz de discos múltiples (RAID).

¿Por qué elegir un sistema de archivos diferente?

El sistema de archivos EXT4 es una versión mejorada de EXT3, que, a su vez, no es más que un EXT2 rediseñado. EXT4 es un sistema de archivos muy estable que ha sido el predeterminado para la mayoría de las distribuciones de Linux durante los últimos años. Pero su código ya está bastante desactualizado. Además, los usuarios de Linux quieren nuevas características y funcionalidades que EXT4 no tiene, pero que sí tienen otros sistemas de archivos, como btrfs vs xfs. Hay software disponible para implementar estas funciones, pero el soporte del sistema de archivos será mucho más rápido. A continuación, revisaremos brevemente cada uno de los sistemas de archivos propuestos para que pueda elegir qué sistema de archivos btrfs o ext4 es mejor para usted.

Sistema de archivos ext4

Ext4 tiene algunas limitaciones que incluso ahora son mucho más impresionantes. El tamaño máximo de archivo es de 17 terabytes. Y esto es mucho más que la capacidad de un disco duro disponible para el consumidor medio. Al mismo tiempo, el tamaño de partición más grande que se puede crear con ext4 es 1 exabyte, que es aproximadamente 11,529,215 terabytes. Como sabe, Ext4 funciona más rápido que EXT3. Como todos los sistemas de archivos modernos, es un diario, lo que significa que EXT4 mantendrá un registro de la ubicación de los archivos en el disco, así como también escribirá los cambios de datos allí. A pesar de todas estas funciones, no admite la compresión transparente, la deduplicación de datos ni el cifrado transparente. Las instantáneas son compatibles técnicamente, pero esta es solo una función experimental.

Sistema de archivos Btrfs

Btrfs es un sistema de archivos diseñado desde cero. Existe porque su desarrollador quería extender la funcionalidad del sistema de archivos estándar con características como instantáneas, concatenación, sumas de verificación, compresión transparente y muchas otras. Btrfs no depende de Ext4, pero implementa sus mejores ideas y beneficios, así como sus funcionalidades adicionales, que serán de gran utilidad para los usuarios, y especialmente para las empresas. Para las empresas que ejecutan programas serios con bases de datos muy grandes, un espacio de sistema de archivos en varios discos será muy útil. La deduplicación de datos reducirá el espacio en disco real utilizado por los datos. Y la duplicación de datos con Btrfs será mucho más fácil.

Los usuarios aún pueden crear múltiples particiones, ya que no necesitan duplicar datos en diferentes unidades. Teniendo en cuenta que Brtfs puede abarcar varios discos duros, admite 16 veces más espacio en disco que Ext4. El tamaño máximo de partición en Btrfs es de 16 exabytes, el tamaño máximo de archivo es el mismo. En la comparación EXT4 vs btrfs, este último es lo primero.

Sistema de archivos XFS

XFS se considera un sistema de archivos extendido. Es un sistema de archivos de registro por diario de 64 bits de alto rendimiento. La compatibilidad con XFS se agregó al kernel en 2002. Y en 2009 se utilizó en Red Hat Enterprise Linux 5.4. El tamaño máximo de archivo en este sistema de archivos es de ocho exabytes. Pero XFS tiene algunas limitaciones. Por ejemplo, la partición de este sistema de archivos no se puede reducir y también se observa un rendimiento deficiente cuando se trabaja con una gran cantidad de archivos. RHEL 7.0 ahora usa XFS como sistema de archivos predeterminado.

Conclusión y conclusiones

Desafortunadamente, la fecha del lanzamiento final de Btrfs no se conoce con exactitud. Pero oficialmente, este sistema de archivos de próxima generación todavía se clasifica como inestable. Sin embargo, si está instalando la última versión de Ubuntu, el instalador ofrecerá la opción de seleccionar Btrfs como su sistema de archivos principal. Se desconoce cuándo Btrfs se vuelve estable, pero Ubuntu no lo usará como el sistema de archivos predeterminado hasta que se considere completamente estable.

Btrfs se usa actualmente como el sistema de archivos raíz predeterminado en OpenSUSE. Como puede ver, los desarrolladores tienen un gran alcance de trabajo, ya que aún no se han implementado todas las funciones, y también se queda atrás en rendimiento al comparar Ext4 vs btrfs.

Entonces, ¿cuál es el mejor para usar? Hasta ahora, Ext4 ha sido el ganador a pesar de un rendimiento idéntico. ¿Pero por qué? La respuesta es conveniencia y popularidad. Ext4 sigue siendo un gran sistema de archivos para estaciones de trabajo y escritorios. Se envía de forma predeterminada y, por lo tanto, el usuario lo recibirá simplemente instalando el sistema operativo. Además, Ext4 admite particiones de hasta 1 exabyte y archivos de hasta 16 terabytes, lo que sigue siendo mucho.

Btrfs ofrece grandes volúmenes de hasta 16 exabytes para particiones y archivos, así como una mayor capacidad de recuperación. Pero todavía se posiciona como un complemento sobre el sistema de archivos y no está integrado en el sistema operativo FS. Por ejemplo, para formatear una partición en Btrfs, se debe instalar la caja de herramientas Btrfs.

Incluso si la velocidad de transferencia de datos no es muy importante, existe una característica como la velocidad de trabajo con archivos. Hay muchas características útiles en Btrfs: copia en escritura, sumas de verificación, instantáneas, limpieza, recuperación automática de datos, deduplicación y otras mejoras interesantes que mantienen los datos seguros. Solo carece de la función ZFS, Z-RAID, por lo que RAID aún se encuentra en su etapa experimental. Para el almacenamiento general de datos, Btrfs es más adecuado que Ext4, pero el tiempo dirá cómo será realmente. Ya sea que use btrfs o ext4 es solo una cuestión de su gusto.

Ext4 es actualmente la mejor opción para usuarios ocasionales, ya que se propaga como el sistema de archivos predeterminado y es más rápido que Btrfs al transferir archivos. Definitivamente vale la pena probar Btrfs, pero es demasiado pronto para reemplazar completamente ext4, y no será posible hasta dentro de unos años. Es curioso, lo mismo se dijo hace unos años, ha cambiado mucho desde entonces, pero Btrfs todavía no se considera estable.

Si tienes una opinión diferente sobre esto, ¡deja comentarios!

Por cierto, si está utilizando Windows y Linux en la misma máquina, es posible que le interese mi artículo.

¿Por qué mi teléfono inteligente no puede iniciar programas desde una tarjeta de memoria? ¿En qué se diferencia fundamentalmente ext4 de ext3? ¿Por qué una unidad flash durará más tiempo si se formatea en NTFS en lugar de FAT? ¿Cuál es el principal problema con F2FS? Las respuestas se encuentran en las peculiaridades de la estructura de los sistemas de archivos. Hablaremos de ellos.

Introducción

Los sistemas de archivos determinan cómo se almacenan los datos. Depende de ellos qué restricciones enfrentará el usuario, qué tan rápidas serán las operaciones de lectura y escritura y cuánto tiempo funcionará la unidad sin fallas. Esto es especialmente cierto en el caso de las SSD económicas y sus hermanos menores: las unidades flash. Conociendo estas características, puede exprimir al máximo cualquier sistema y optimizar su uso para tareas específicas.

Debe elegir el tipo y los parámetros del sistema de archivos cada vez que necesite hacer algo que no sea trivial. Por ejemplo, desea acelerar las operaciones de archivo más frecuentes. En el nivel del sistema de archivos, esto se puede lograr de varias maneras: la indexación proporcionará búsquedas rápidas y los bloques libres de reserva previa facilitarán la sobrescritura de archivos que cambian con frecuencia. La optimización de los datos en la RAM de antemano reducirá la cantidad de E / S requerida.

Las características de los sistemas de archivos modernos, como la escritura diferida, la deduplicación y otros algoritmos avanzados, ayudan a extender el tiempo de actividad. Son especialmente relevantes para SSD económicos con chips de memoria TLC, unidades flash y tarjetas de memoria.

Existen optimizaciones separadas para diferentes niveles de matrices de discos: por ejemplo, el sistema de archivos puede admitir la duplicación de volúmenes livianos, instantáneas o escalado dinámico sin desconectar un volumen.

Caja negra

Los usuarios trabajan principalmente con el sistema de archivos que ofrece el sistema operativo de forma predeterminada. Rara vez crean nuevas particiones de disco y menos a menudo piensan en su configuración: solo usan los parámetros recomendados o incluso compran medios preformateados.

Para los fanáticos de Windows, todo es simple: NTFS en todas las particiones del disco y FAT32 (o el mismo NTFS) en unidades flash. Si hay un NAS y se usa algún otro sistema de archivos en él, entonces para la mayoría permanece más allá de la percepción. Simplemente se conectan a él a través de la red y descargan archivos, como si fueran de una caja negra.

En dispositivos móviles con Android, ext4 se encuentra con mayor frecuencia en la memoria interna y FAT32 en tarjetas microSD. A los amantes de Apple ni siquiera les importa qué tipo de sistema de archivos tengan: HFS +, HFSX, APFS, WTFS ... para ellos solo hay hermosos íconos de carpetas y archivos dibujados por los mejores diseñadores. Los usuarios de Linux tienen la opción más rica, pero puede agregar soporte para sistemas de archivos que no son nativos del sistema operativo tanto en Windows como en macOS; más sobre eso más adelante.

Raíces comunes

Se han creado más de cien sistemas de archivos diferentes, pero un poco más de una docena pueden considerarse relevantes. Si bien todos fueron diseñados para sus aplicaciones específicas, muchos terminaron estando relacionados conceptualmente. Son similares porque utilizan el mismo tipo de estructura de presentación (meta) datos: árboles B ("bi-árboles").

Al igual que con cualquier sistema jerárquico, el árbol B comienza en el registro raíz y luego se ramifica hasta los elementos finales: registros individuales sobre archivos y sus atributos, u "hojas". El objetivo principal de crear una estructura lógica de este tipo era acelerar la búsqueda de objetos del sistema de archivos en matrices dinámicas grandes, como discos duros con una capacidad de varios terabytes o matrices RAID aún más impresionantes.

Los árboles B requieren muchos menos accesos al disco que otros tipos de árboles B cuando se realizan las mismas operaciones. Esto se logra debido al hecho de que los objetos finales en los árboles B están ubicados jerárquicamente a la misma altura, y la velocidad de todas las operaciones es simplemente proporcional a la altura del árbol.

Al igual que otros árboles equilibrados, los árboles B tienen la misma longitud de camino desde la raíz hasta cualquier hoja. En lugar de crecer, se ramifican más y crecen más en ancho: todos los puntos de ramificación en el árbol B almacenan muchas referencias a objetos secundarios, lo que los hace fáciles de encontrar en menos llamadas. Una gran cantidad de punteros reduce la cantidad de operaciones de disco más largas: posicionamiento del cabezal al leer bloques arbitrarios.

El concepto de árboles B se formuló en los años setenta y ha experimentado varias mejoras desde entonces. Se implementa de una forma u otra en NTFS, BFS, XFS, JFS, ReiserFS y muchos DBMS. Todos ellos son parientes en cuanto a los principios básicos de organización de datos. Las diferencias se refieren a detalles, que a menudo son bastante importantes. La desventaja de los sistemas de archivos relacionados también es común: todos fueron creados para funcionar con discos incluso antes de la llegada de las SSD.

La memoria flash como motor de progreso

Las unidades de estado sólido están reemplazando gradualmente a las unidades de disco, pero hasta ahora se ven obligadas a utilizar sistemas de archivos que les son ajenos, heredados. Se basan en matrices de memoria flash, cuyos principios difieren de los de los dispositivos de disco. En particular, la memoria flash debe borrarse antes de escribir, y esta operación en chips NAND no se puede realizar a nivel de celdas individuales. Solo es posible para bloques grandes en su conjunto.

Esta limitación se debe al hecho de que en la memoria NAND, todas las celdas se combinan en bloques, cada uno de los cuales tiene una sola conexión común al bus de control. No entraremos en los detalles de la paginación y describiremos la jerarquía completa. El principio mismo de las operaciones grupales con celdas y el hecho de que los tamaños de los bloques de memoria flash suelen ser más grandes que los bloques abordados en cualquier sistema de archivos son importantes. Por lo tanto, todas las direcciones y comandos para unidades con flash NAND deben traducirse a través de la capa de abstracción FTL (Flash Translation Layer).

Los controladores de memoria flash brindan compatibilidad con la lógica de los dispositivos de disco y soporte para los comandos de sus interfaces nativas. Por lo general, FTL se implementa en su firmware, pero puede ejecutarse (parcialmente) en el host; por ejemplo, Plextor escribe controladores para sus SSD que aceleran la escritura.

No puede prescindir de FTL en absoluto, ya que incluso escribir un bit en una celda específica conduce al lanzamiento de toda una serie de operaciones: el controlador busca un bloque que contenga la celda requerida; el bloque se lee en su totalidad, se escribe en la caché o en el espacio libre, luego se borra por completo, después de lo cual se vuelve a escribir con los cambios necesarios.

Este enfoque se asemeja a la vida cotidiana en el ejército: para dar una orden a un soldado, el sargento hace una formación general, llama al pobre infeliz y ordena a los demás que se dispersen. En la ahora rara memoria NOR, la organización era spetsnaz: cada celda se controlaba de forma independiente (cada transistor tenía un contacto individual).

Los controladores tienen cada vez más tareas, ya que con cada generación de memoria flash, el proceso técnico de su fabricación disminuye con el fin de aumentar la densidad y reducir el costo de almacenamiento de datos. Junto con los estándares tecnológicos, también se reduce la vida estimada de los chips.

Los módulos con celdas SLC de un solo nivel tenían un recurso declarado de 100 mil ciclos de reescritura e incluso más. Muchos de ellos todavía funcionan en unidades flash y tarjetas CF antiguas. El MLC de clase empresarial (eMLC) reclamó el recurso en el rango de 10 a 20 mil, mientras que en el MLC de nivel de consumidor habitual se estima en 3-5 mil. La memoria de este tipo está activamente abarrotada por el TLC aún más barato, cuyo recurso apenas alcanza los mil ciclos. Mantener la vida útil de la memoria flash en un nivel aceptable debe hacerse mediante ajustes de software, y los nuevos sistemas de archivos se están convirtiendo en uno de ellos.

Inicialmente, los fabricantes asumieron que el sistema de archivos no era importante. El propio controlador debe mantener una matriz de células de memoria de corta duración de cualquier tipo, distribuyendo la carga entre ellas de manera óptima. Para el controlador del sistema de archivos, simula un disco normal y él mismo realiza optimizaciones de bajo nivel en cualquier acceso. Sin embargo, en la práctica, la optimización varía de mágica a ficticia para diferentes dispositivos.

En los SSD corporativos, el controlador integrado es una computadora pequeña. Tiene un búfer de memoria enorme (medio giga y más) y admite muchos métodos para mejorar la eficiencia del trabajo con datos, lo que evita ciclos de reescritura innecesarios. El chip organiza todos los bloques en la caché, realiza escrituras diferidas, realiza la deduplicación sobre la marcha, reserva algunos bloques y borra otros en segundo plano. Toda esta magia pasa completamente desapercibida para el sistema operativo, los programas y el usuario. Con un SSD como este, realmente no importa qué sistema de archivos se utilice. Las optimizaciones internas tienen un impacto mucho mayor en el rendimiento y los recursos que las externas.

Los SSD económicos (y aún más, las unidades flash) están equipados con controladores mucho menos inteligentes. El caché en ellos está truncado o ausente, y las tecnologías de servidor avanzadas no se utilizan en absoluto. En las tarjetas de memoria, los controladores son tan primitivos que a menudo se afirma que no existen en absoluto. Por lo tanto, para dispositivos económicos con memoria flash, los métodos externos de equilibrio de carga siguen siendo relevantes, principalmente utilizando sistemas de archivos especializados.

JFFS a F2FS

Uno de los primeros intentos de escribir un sistema de archivos que tuviera en cuenta los principios de organización de la memoria flash fue JFFS - Journaling Flash File System. Inicialmente, este desarrollo de la empresa sueca Axis Communications se centró en mejorar la eficiencia de la memoria de los dispositivos de red que Axis produjo en los años noventa. La primera versión de JFFS solo admitía memoria NOR, pero ya en la segunda versión se hizo amigo de NAND.

JFFS2 tiene un uso limitado en este momento. En su mayoría, todavía se usa en distribuciones de Linux para sistemas integrados. Se puede encontrar en enrutadores, cámaras IP, NAS y otros usuarios habituales del Internet de las cosas. En general, siempre que se requiera una pequeña cantidad de memoria confiable.

Otro intento de desarrollar JFFS2 fue LogFS, que almacenaba inodos en un archivo separado. Los autores de esta idea son un empleado de la división alemana de IBM Jorn Engel y un profesor de la Universidad de Osnabrück Robert Mertens. El código fuente de LogFS está disponible en GitHub. A juzgar por el hecho de que el último cambio se realizó hace cuatro años, LogFS no ha ganado popularidad.

Pero estos intentos estimularon la aparición de otro sistema de archivos especializado: F2FS. Fue desarrollado por Samsung Corporation, que representa una gran parte de la memoria flash producida en el mundo. Samsung fabrica chips NAND Flash para sus propios dispositivos y para otras empresas, y también está desarrollando SSD con interfaces fundamentalmente nuevas en lugar de las de disco heredadas. La creación de un sistema de archivos especializado optimizado para memoria flash era una necesidad desde hace mucho tiempo desde el punto de vista de Samsung.

Hace cuatro años, en 2012, Samsung creó F2FS (Flash Friendly File System). Su idea es buena, pero la implementación resultó ser cruda. La tarea clave al crear F2FS fue simple: reducir el número de operaciones de reescritura de celdas y distribuir la carga en ellas de la manera más uniforme posible. Esto requiere realizar operaciones con varias celdas dentro del mismo bloque al mismo tiempo, y no violarlas una a una. Esto significa que no necesitamos la reescritura instantánea de los bloques existentes a la primera solicitud del sistema operativo, sino el almacenamiento en caché de los comandos y los datos, la adición de nuevos bloques al espacio libre y el borrado retardado de las celdas.

Hoy en día, el soporte F2FS ya está implementado oficialmente en Linux (y por lo tanto en Android), pero no ofrece ninguna ventaja especial en la práctica. La característica principal de este sistema de archivos (sobrescritura diferida) ha llevado a conclusiones prematuras sobre su eficacia. El viejo truco de almacenamiento en caché incluso engañó a las primeras versiones de los puntos de referencia, donde F2FS mostró una ventaja aparente no en un pequeño porcentaje (como se esperaba) o incluso varias veces, sino en órdenes de magnitud. Es solo que el controlador F2FS informó la ejecución de una operación que el controlador estaba planeando hacer. Sin embargo, si la ganancia de rendimiento real en F2FS es pequeña, el desgaste de la celda definitivamente será menor que cuando se usa el mismo ext4. Aquellas optimizaciones que un controlador económico no puede hacer se realizarán a nivel del propio sistema de archivos.

Extensiones y mapas de bits

Mientras que F2FS se percibe como exótico para los geeks. Incluso en los propios teléfonos inteligentes de Samsung, ext4 todavía se usa. Muchos lo consideran un desarrollo posterior de ext3, pero esto no es del todo cierto. Esto es más una revolución que romper la barrera de 2 TB por archivo y simplemente aumentar otras métricas.

Cuando las computadoras eran grandes y los archivos pequeños, el direccionamiento era fácil. A cada archivo se le asignó un cierto número de bloques, cuyas direcciones se ingresaron en la tabla de correspondencia. Así es como funcionaba el sistema de archivos ext3, que todavía se usa en la actualidad. Pero en ext4, apareció una forma fundamentalmente diferente de direccionamiento: extensiones.


Las extensiones pueden considerarse extensiones de inodo como conjuntos discretos de bloques que se direccionan en su totalidad como secuencias contiguas. Una extensión puede contener un archivo completo de tamaño mediano y, para archivos grandes, es suficiente asignar una docena o dos extensiones. Esto es mucho más eficiente que abordar cientos de miles de pequeños bloques de cuatro kilobytes.

El mecanismo de escritura en sí ha cambiado en ext4. Ahora la distribución de bloques ocurre inmediatamente en una solicitud. Y no por adelantado, sino justo antes de escribir datos en el disco. La asignación retardada de múltiples bloques le permite deshacerse de operaciones innecesarias que ext3 cometió: en él, los bloques para un nuevo archivo se asignaron inmediatamente, incluso si encajaba completamente en la caché y estaba programado para ser eliminado como temporal.


Dieta restringida en grasas

Además de los árboles equilibrados y sus modificaciones, existen otras estructuras lógicas populares. Hay sistemas de archivos con un tipo de organización fundamentalmente diferente, por ejemplo, lineal. Probablemente use al menos uno de ellos con frecuencia.

Misterio

Adivina el acertijo: a los doce empezó a engordar, a los dieciséis era una gorda estúpida, ya los treinta y dos engorda, y sigue siendo una simplona. ¿Quién es ella?

Así es, esta es una historia sobre el sistema de archivos FAT. Los requisitos de compatibilidad le dieron una mala herencia. En los disquetes era de 12 bits, en los discos duros, al principio era de 16 bits y hasta el día de hoy se ha reducido a 32 bits. En cada versión posterior, el número de bloques direccionables aumentó, pero en esencia nada cambió.

El todavía popular sistema de archivos FAT32 apareció hace veinte años. Hoy en día todavía es primitivo y no admite ACL, cuotas de disco, compresión en segundo plano u otras tecnologías modernas de optimización de datos.

¿Por qué se necesita FAT32 en estos días? De todos modos, solo para fines de compatibilidad. Los fabricantes creen, con razón, que cualquier sistema operativo puede leer una partición FAT32. Por lo tanto, lo crean en discos duros externos, USB Flash y tarjetas de memoria.

Cómo liberar memoria flash en su teléfono inteligente

Las tarjetas MicroSD (HC) utilizadas en los teléfonos inteligentes están formateadas en FAT32 de forma predeterminada. Este es el principal obstáculo para instalar aplicaciones en ellos y transferir datos desde la memoria interna. Para superarlo, debe crear una partición ext3 o ext4 en la tarjeta. Todos los atributos del archivo (incluidos el propietario y los derechos de acceso) se pueden transferir a él, por lo que cualquier aplicación puede funcionar como si se hubiera iniciado desde la memoria interna.

Windows no puede crear más de una partición en unidades flash, pero para esto puede ejecutar Linux (al menos en una máquina virtual) o una utilidad avanzada para trabajar con particiones lógicas, por ejemplo, MiniTool Partition Wizard Free. Habiendo encontrado una partición primaria adicional con ext3 / ext4 en la tarjeta, la aplicación Link2SD y otras similares ofrecerán muchas más opciones que en el caso de una sola partición FAT32.


Otro argumento a favor de elegir FAT32 se cita a menudo como su falta de registro en diario, lo que significa escrituras más rápidas y menos desgaste en las celdas de memoria Flash NAND. En la práctica, el uso de FAT32 conduce a lo contrario y da lugar a muchos otros problemas.

Las unidades flash y las tarjetas de memoria mueren rápidamente porque cualquier cambio en FAT32 provoca la sobrescritura de los mismos sectores donde se encuentran dos cadenas de tablas de archivos. Guardé toda la página web y la reescribí cien veces, con cada adición de otro pequeño GIF a la unidad flash. ¿Lanzó el software portátil? Creó archivos temporales y los cambia constantemente durante el trabajo. Por lo tanto, es mucho mejor usar NTFS en unidades flash con su tabla $ MFT tolerante a fallas. Los archivos pequeños se pueden almacenar directamente en la tabla de archivos principal, y sus extensiones y copias se escriben en diferentes áreas de la memoria flash. Además, la indexación NTFS agiliza las búsquedas.

Otro problema al que se enfrentan la mayoría de los usuarios es que es imposible escribir un archivo de más de 4 GB en una partición FAT32. La razón es que en FAT32 el tamaño del archivo se describe con 32 bits en la tabla de asignación de archivos, y 2 ^ 32 (menos uno, para ser precisos) solo da cuatro gigas. Resulta que ni una película en calidad normal ni una imagen de DVD se pueden grabar en una unidad flash recién comprada.

Copiar archivos grandes sigue siendo la mitad del problema: cuando intenta hacer esto, el error es al menos inmediatamente visible. En otras situaciones, FAT32 actúa como una bomba de tiempo. Por ejemplo, copió un software portátil a una unidad flash USB y al principio lo usó sin ningún problema. Después de mucho tiempo, uno de los programas (por ejemplo, contabilidad o correo) tiene una base de datos inflada y ... simplemente deja de actualizarse. El archivo no se puede sobrescribir porque ha alcanzado el límite de 4 GB.

Un problema menos obvio es que en FAT32, la fecha de creación de un archivo o directorio se puede especificar con una precisión de dos segundos. Esto no es suficiente para muchas aplicaciones criptográficas que utilizan marcas de tiempo. La baja precisión del atributo de fecha es otra razón por la que FAT32 no se considera un sistema de archivos completo desde el punto de vista de la seguridad. Sin embargo, sus lados débiles se pueden utilizar para sus propios fines. Por ejemplo, si copia cualquier archivo de una partición NTFS a un volumen FAT32, se borrarán todos los metadatos, así como los permisos heredados y especialmente establecidos. FAT simplemente no los apoya.

exFAT

A diferencia de FAT12 / 16/32, exFAT fue diseñado específicamente para USB Flash y tarjetas de memoria grandes (≥ 32 GB). Extended FAT elimina la desventaja mencionada anteriormente de FAT32: sobrescribir los mismos sectores en cualquier cambio. Como sistema de 64 bits, prácticamente no tiene límites significativos en el tamaño de un solo archivo. Teóricamente, puede tener una longitud de 2 ^ 64 bytes (16 EB) y las tarjetas de este tamaño no aparecerán pronto.

Otra diferencia importante en exFAT es su compatibilidad con listas de control de acceso (ACL). Esto ya no es tan simple de los noventa, pero el formato cerrado dificulta la implementación de exFAT. La compatibilidad con ExFAT está implementada total y legalmente solo en Windows (a partir de XP SP2) y OS X (a partir de 10.6.5). En Linux y * BSD, se admite con restricciones o no del todo legalmente. Microsoft requiere una licencia para usar exFAT y existen muchas disputas legales en esta área.

Btrfs

Otro ejemplo destacado de sistemas de archivos de árbol B se llama Btrfs. Este FS apareció en 2007 y se creó originalmente en Oracle con miras a trabajar con SSD y RAID. Por ejemplo, se puede escalar dinámicamente: cree nuevos descriptores de índice directamente en el sistema en ejecución o divida un volumen en subvolúmenes sin asignarles espacio libre.

El mecanismo de copia en escritura implementado en Btrfs y la integración completa con el módulo del kernel del mapeador de dispositivos le permiten hacer instantáneas casi instantáneas a través de dispositivos de bloques virtuales. La precompresión de datos (zlib o lzo) y la deduplicación aceleran las operaciones básicas al tiempo que extienden la vida útil de la memoria flash. Esto es especialmente notable cuando se trabaja con bases de datos (la compresión se logra de 2 a 4 veces) y archivos pequeños (se escriben en bloques grandes ordenados y se pueden almacenar directamente en las "hojas").

Btrfs también admite el registro en diario completo (datos y metadatos), la verificación de volumen sin desmontar y muchas otras características modernas. El código Btrfs se publica bajo la licencia GPL. Este sistema de archivos se ha mantenido estable en Linux desde el kernel 4.3.1.

Revistas a bordo

Casi todos los sistemas de archivos más o menos modernos (ext3 / ext4, NTFS, HFSX, Btrfs y otros) pertenecen al grupo general de los registrados por diario, ya que mantienen registros de los cambios realizados en un registro separado (diario) y verifican con él por si acaso. de fallas durante las operaciones del disco ... Sin embargo, el nivel de verbosidad y tolerancia a fallas de estos sistemas de archivos es diferente.

Ext3 admite tres modos de registro: bucle invertido, secuenciado y registro completo. El primer modo implica registrar solo los cambios generales (metadatos), realizados de forma asincrónica con respecto a los cambios en los datos en sí. En el segundo modo, se realiza la misma grabación de metadatos, pero estrictamente antes de que se realicen cambios. El tercer modo es equivalente a un diario completo (cambios tanto en los metadatos como en los propios archivos).

Solo la última opción garantiza la integridad de los datos. Los otros dos solo aceleran la detección de errores durante la verificación y garantizan la restauración de la integridad del propio sistema de archivos, pero no el contenido de los archivos.

El registro NTFS es similar al segundo modo de registro de ext3. Solo los cambios en los metadatos se registran en el registro y los datos en sí pueden perderse en caso de falla. Este método de registro en diario NTFS no se concibió como una forma de lograr la máxima confiabilidad, sino solo como un compromiso entre el rendimiento y la tolerancia a fallas. Esta es la razón por la que las personas acostumbradas a trabajar con sistemas de registro por diario completo consideran que NTFS es un registro pseudo-diario.

El enfoque NTFS es algo mejor que el predeterminado en ext3. En NTFS, los puntos de control se crean además periódicamente para garantizar que se completen todas las operaciones de disco pendientes anteriormente. Los puntos de control no tienen nada que ver con los puntos de restauración en la información del volumen del sistema. Estas son solo entradas generales en el registro.

La práctica muestra que este tipo de registro parcial de NTFS en la mayoría de los casos es suficiente para un trabajo sin problemas. Después de todo, incluso con un corte de energía brusco, los dispositivos de disco no se desactivan instantáneamente. La unidad de fuente de alimentación y numerosos condensadores en los propios variadores proporcionan solo esa reserva de energía mínima, que es suficiente para completar la operación de escritura actual. Los SSD modernos, con su velocidad y economía, suelen tener suficiente energía para realizar operaciones pendientes. Un intento de cambiar al registro completo reduciría varias veces la velocidad de la mayoría de las operaciones.

Conectamos sistemas de archivos de terceros en Windows

El uso de sistemas de archivos está limitado por su soporte a nivel de sistema operativo. Por ejemplo, Windows no comprende ext2 / 3/4 y HFS + y, a veces, es necesario utilizarlos. Esto se puede hacer agregando el controlador apropiado.

Controlador abierto para leer y escribir particiones ext2 / 3 con soporte parcial ext4. La última versión admite extensiones y particiones de hasta 16 TB. No se admiten LVM, ACL ni atributos extendidos.


Hay un complemento gratuito para Total Commander. Admite la lectura de particiones ext2 / 3/4.


coLinux es un puerto libre y de código abierto del kernel de Linux. Junto con un controlador de 32 bits, le permite ejecutar Linux en Windows 2000 a 7 sin utilizar tecnologías de virtualización. Solo admite versiones de 32 bits. Se canceló el desarrollo de la modificación de 64 bits. coLinux permite, entre otras cosas, organizar desde Windows el acceso a particiones ext2 / 3/4. El apoyo al proyecto se suspendió en 2014.

Es posible que Windows 10 ya tenga soporte nativo para sistemas de archivos específicos de Linux, simplemente está oculto. Estos pensamientos son sugeridos por el controlador de nivel de kernel Lxcore.sys y el servicio LxssManager, que se carga como una biblioteca mediante el proceso Svchost.exe. Para más detalles, vea la charla de Alex Ionescu "El kernel de Linux escondido dentro de Windows 10", que presentó en Black Hat 2016.


ExtFS para Windows es un controlador de pago lanzado por Paragon. Funciona en Windows 7 a 10, admite acceso de lectura / escritura a volúmenes ext2 / 3/4. Proporciona soporte ext4 casi completo en Windows.

HFS + para Windows 10 es otro controlador propietario producido por Paragon Software. A pesar del nombre, funciona en todas las versiones de Windows a partir de XP. Proporciona acceso completo a los sistemas de archivos HFS + / HFSX en discos con cualquier tamaño (MBR / GPT).

WinBtrfs es un desarrollo temprano del controlador Btrfs para Windows. Ya en la versión 0.6, admite acceso de lectura y escritura a volúmenes Btrfs. Puede manejar enlaces duros y simbólicos, admite flujos de datos alternativos, ACL, dos tipos de compresión y modo de lectura / escritura asíncrono. Hasta ahora, WinBtrfs no puede usar mkfs.btrfs, btrfs-balance y otras utilidades para mantener este sistema de archivos.

¿Te gustó el artículo? ¡Compartir con tus amigos!