Menú
Está libre
registro
hogar  /  Firmware/ Tipos de sistemas de archivos Linux y sus características. Organización física de los sistemas de archivos ext2, ext3, ext4 Sistema de archivos Ext2

Tipos de sistemas de archivos de Linux y sus características. Organización física de los sistemas de archivos ext2, ext3, ext4 Sistema de archivos Ext2

El sistema de archivos de Linux suele ser ext4. Es un diario y le permite trabajar cómodamente con datos al resolver la gran mayoría de problemas. Sin embargo, hay otros. Tipos basicos sistemas de archivos y los principios para trabajar con ellos se considerarán en el marco de este material.

Tipos de archivo Sistemas Linux y sus características

Las características distintivas son la velocidad de trabajo con archivos, seguridad y parámetros (como el tamaño de bloque) que existen de forma predeterminada y se establecen al crear un FS. Quizás la característica más importante es la presencia de una revista. V registro del sistema se están escribiendo datos o metadatos(solo encabezados) mediante los cuales se puede recuperar información en caso de falla.

El sistema de archivos se puede crear en cualquier dispositivo: disco o partición del sistema.

Sistema de archivos EXT2

EXT2 es actualmente un sistema de archivos obsoleto que apenas se utiliza en instalaciones modernas. el principal inconveniente es la falta de registro, lo que, en consecuencia, hace que sea imposible recuperar datos en caso de falla. Todavía se usa en medios de almacenamiento portátiles como USB. No necesitan una revista porque ocupan una cierta cantidad de espacio.

También garantiza la máxima velocidad de trabajo.

  • para EXT2, el tamaño máximo de archivo es -2 TB

Sistema de archivos EXT3

EXT2 suplantado, caracteristica principal es la apariencia de la revista, es totalmente compatible con EXT2 (EXT2 se puede convertir libremente a EXT3). Ahora también es raro, EXT4 casi siempre se usa.

El registro es un área especial en la memoria donde se registra la información sobre todos los cambios.

  • para EXT3, el tamaño máximo de archivo es -2 TB
  • tamaño máximo de todos los archivos: 32 TB
  • cada directorio puede tener hasta 32.000 subdirectorios

Hay tres opciones para el registro en diario (especificadas al crear el sistema de archivos):

  • revista: los metadatos de la revista, así como la información en sí
  • ordenado: la opción predeterminada, solo se guardan los metadatos después de escribir en el disco
  • escritura diferida: también solo se guardan los metadatos, puede elegir guardarlos antes de escribir en el disco o después

Sistema de archivos EXT4

La versión moderna del sistema de archivos extendido, se usa con mayor frecuencia

  • tamaño máximo de archivo -2 TB 16 TB
  • el tamaño máximo de todos los archivos es 1 EB (exabyte). 1 EB = 1024 PB (petabyte). 1 PB = 1024 TB (terabyte).
  • cada directorio puede tener hasta 64.000 subdirectorios

En EXT4, el registro se puede desactivar configurando la opción datos cuando se monta en apagado

EXT como el principal sistema de archivos y práctica de Linux

El sistema de archivos es creado por el comando mk2fs

La opción de registro requerida se especifica durante el montaje, por ejemplo:

mount / dev / vdc / mnt / 1 -t ext3 -o data = journal

Conversión de EXT2 E a XT3

ReiserFS

ReiserFS (y la implementación moderna de Reiser4 habilitada para SELinux) tiene un buen rendimiento y es muy productiva, especialmente cuando se trabaja con gran cantidad archivos pequeños. ReiserFS no asigna inodos para cada archivo pequeño procesándolos juntos, ni ReiserFS usa un diario con varias opciones disponibles. El sistema de archivos es actualmente compatible con desarrolladores de Rusia.

Puede crear FS para el dispositivo con el comando

XFS

XFS es un sistema de archivos con registro. Utiliza RAM para almacenar información, por lo que es posible la pérdida de datos, por ejemplo, cuando se apaga la alimentación.

Para usar XFS en Ubuntu, necesita instalar paquetes xfsprogs y xfsdump

vfat

El sistema de archivos de Linux también existe en el entorno de Windows. Se utiliza cuando necesita organizar el acceso conjunto a ciertos discos y particiones de clientes con diferentes sistemas operativos. En otros casos, no se recomienda su uso porque puede resultar difícil cuando se trabaja en Linux.

Echemos un vistazo a la estructura lógica del sistema de archivos ext2fs. El disco duro está dividido físicamente en sectores de 512 bytes. El primer sector de una partición de disco en cualquier sistema de archivos se considera el área de arranque. En la sección principal, esta área contiene el registro de inicio, un fragmento de código que inicia el proceso de inicio del sistema operativo en el inicio. Esta área no se utiliza en otras secciones. El resto de sectores se combinan en bloques lógicos de 1, 2 o 4 kilobytes. Un bloque lógico es el dato direccionable más pequeño: los datos de cada archivo ocupan un número entero de bloques. Los bloques, a su vez, se combinan en grupos de bloques. Los grupos de bloques y los bloques dentro de un grupo se numeran secuencialmente, comenzando por 1.

Las estructuras de datos utilizadas cuando se trabaja con el sistema de archivos ext2fs se describen en el archivo de encabezado / usr / include / linux / ext2fs .h.

El superbloque sirve como punto de partida del sistema de archivos y almacena todos

información sobre ella. Tiene un tamaño de 1.024 bytes y se encuentra a 1.024 bytes desde el inicio del sistema de archivos. En cada grupo de bloques, está duplicado, lo que le permite restaurarlo rápidamente después de fallas. El superbloque determina el tamaño del sistema de archivos, el número máximo de archivos en la partición, la cantidad de espacio libre y contiene información sobre dónde buscar áreas no asignadas. Cuando se inicia el sistema operativo, el superbloque se lee en la memoria y todos los cambios en el sistema de archivos se reflejan primero en la copia del superbloque en el sistema operativo y se escriben en el disco solo periódicamente. Esto mejora el rendimiento del sistema, ya que muchos usuarios y procesos actualizan archivos constantemente. Por otro lado, cuando el sistema está parado, el superbloque debe escribirse en el disco, lo que no permite apagar la computadora simplemente apagando la energía. De lo contrario, en el próximo arranque, la información escrita en el bloqueador solar no será

correspondiente al estado real del sistema de archivos.

El superbloque va seguido de la descripción (descriptor) del grupo de bloques. La información almacenada en él le permite encontrar los mapas de bits de bloque e inodo y la tabla de inodo.

Un mapa de bits de bloque es una estructura, cada bit del cual indica si el mismo bloque está asignado a un archivo. Un valor de 1 indica que el bloque está ocupado. Este mapa se utiliza para buscar bloques libres en los casos en los que necesite asignar espacio para un archivo..

El mapa de bits de inodo realiza una función similar a la tabla de inodo: muestra qué descriptores están en uso.

Cada archivo tiene uno y solo un inodo (inodo, i-nodo, nodo de información), que se identifica por su número de secuencia: el índice de archivo. El inodo almacena los metadatos del archivo. Entre ellos, todos los atributos del archivo, excepto su nombre, y un puntero a los datos del archivo.

Para un archivo o directorio normal, este puntero es una matriz de 15 direcciones de bloque. Las primeras 12 direcciones de esta matriz son referencias directas a los números de bloque en los que se almacenan los datos del archivo. Si los datos no caben en 12 bloques, se activa el mecanismo de direccionamiento indirecto. La siguiente dirección en esta matriz es una referencia indirecta, es decir, la dirección del bloque que almacena la lista de direcciones de los siguientes bloques con datos de este archivo.

¿Cuántos bloques de datos puede abordar de esta manera? La dirección del bloque ocupa 4 bytes, el bloque, como ya se mencionó, es de 1, 2 o 4 kilobytes. Esto significa que se pueden acomodar 256 - 1024 bloques mediante direccionamiento indirecto.

¿Y si el archivo es aún más largo? La siguiente dirección en la matriz de punteros apunta a un bloque indirecto doble (doble bloque indirecto). Este bloque contiene una lista de direcciones de bloque que, a su vez, contiene las listas de direcciones de los siguientes bloques de datos.

Y finalmente, la última dirección en la matriz de punteros especifica la dirección del bloque de direccionamiento indirecto triple, es decir, el bloque con una lista de direcciones de bloque que son bloques de direccionamiento indirecto doble.

No queda claro dónde se encuentra el nombre del archivo si no está incluido en los datos del archivo o en sus metadatos. En sistemas similares a UNIX, el nombre de archivo no es un atributo del archivo en sí, sino del sistema de archivos, entendido como una estructura de directorio lógica. El nombre del archivo se almacena solo en el directorio al que está asignado el archivo y en ningún otro lugar. De esto se derivan curiosas consecuencias.

Primero, cualquier número de nombres asignados a diferentes directorios puede corresponder a un solo inodo, y todos son reales. El número de nombres (enlaces físicos) se cuenta en el inodo. Este es el número que puede ver con el comando Es -1.

En segundo lugar, eliminar un archivo simplemente significa eliminar el registro sobre él de los datos del directorio y disminuir el recuento de enlaces en 1.

En tercer lugar, solo puede hacer coincidir un nombre con un número de inodo dentro del mismo sistema de archivos, por lo que no puede crear un enlace físico a otro sistema de archivos (simbólico, puede hacerlo, tiene un mecanismo de almacenamiento diferente).

El directorio en sí se asigna a su directorio padre de la misma manera. El directorio raíz siempre se escribe en el inodo número 2 (el número 1 está reservado para la lista de direcciones de bloques defectuosos). Cada directorio contiene un enlace a sí mismo y a su directorio padre - estos son los pseudo-subdirectorios "." y "..".

Por tanto, el número de enlaces a un directorio es igual al número de sus subdirectorios más dos.

Los datos del directorio son una lista vinculada con entradas de longitud variable y se parecen a esto:

Estructura de directorios de Ext2fs

¿Qué pasa con los archivos de dispositivos físicos? Se pueden ubicar en los mismos directorios que los archivos normales: no hay datos en el directorio que indiquen que el nombre pertenece a un archivo en un disco o dispositivo. La diferencia está en el nivel de inodo. Si el i-nodo de un archivo normal apunta a bloques de disco donde se almacenan sus datos, entonces el i-nodo del archivo de dispositivo contiene un puntero a la lista de controladores de dispositivo en el kernel, el elemento de la lista que corresponde al número de dispositivo principal:

Diferencia entre archivo normal y archivo de dispositivo

Propiedades del sistema de archivos Ext2fs:

El tamaño máximo del sistema de archivos es de 4 TB.

El tamaño máximo de archivo es de 2 GB.

La longitud máxima de un nombre de archivo es de 255 caracteres.

El tamaño mínimo de bloque es 1024 bytes.

El número de inodos para asignar es 1 por 4096 bytes de la partición.

Cómo en Entorno de Windows hacer posible acceder a una partición de disco o medios extraíbles con sistemas de archivos Ext2 / 3/4 ? Si, por ejemplo, también hay un segundo sistema en la computadora Linux... Y necesita trabajar con sus datos del medio ambiente. Ventanas... U otro ejemplo: cuando se montan dentro de Windows discos virtuales con instalado en maquinas virtuales sistemas Linux o Androide... Con Ext2 / 3 / 4 Windows no sabe trabajar de forma nativa, necesita fondos de terceros. ¿Cuáles son estos medios? Considere los siguientes.

***
Los primeros tres medios permitirán leer solo dispositivos de información de Ext2 / 3/4... La última solución permitirá tanto leer como escribir datos. Todas las herramientas que se describen a continuación son gratuitas.

1. Lector de Linux DiskInternals

Un programa simple es un administrador de archivos primitivo, hecho como un Explorador de Windows, con soporte para sistemas de archivos Ext 2/3/4 , Reiser4 , HFS , UFS2... En la ventana del programa veremos particiones y dispositivos con Linux o Androide.

Para copiar, seleccione una carpeta o archivo, presione el botón "Ahorrar".

Luego especifique la ruta de la copia.

2. Complemento para Total Commander DiskInternals Reader

Los amantes de lo popular pueden extraer datos Linux o Androide dentro de Windows usando este administrador de archivos. Pero habiendo instalado previamente un complemento especial en él. Uno de estos complementos es que puede conectar y leer dispositivos de información formateados en Ext2 / 3/4 , Grasa / exFAT , HFS / HFS + , ReiserFS... Descargue el complemento, descomprima su archivo dentro , confirmamos la instalación.

Lanzamiento (importante) como administrador. Pasamos a la sección. Hacer clic.

Aquí, junto con otras particiones del disco y los medios, la que tiene Ext2 / 3/4 .

Los datos se copian utilizando tradicional manera - con la tecla F5 en el segundo panel.

3. Complemento para Total Commander ext4tc

Una alternativa simplificada a la solución anterior - ext4tc, otro complemento para ... Puede conectarse para leer dispositivos de información formateados solo en Ext2 / 3/4... Descargue el complemento, descomprima su archivo dentro del administrador de archivos, inicie la instalación.

Lanzamiento (importante) como administrador. Hacemos clic. Vamos a.

Si necesita copiar datos, usamos de la manera habitual con la tecla F5.

4. Controlador de soporte Ext2Fsd

Programa Ext2Fsd Es el conductor Ext2 / 3/4, implementa soporte para estos sistemas de archivos a nivel de sistema operativo. Con particiones de disco y unidades formateadas en estos sistemas de archivos, puede trabajar como de costumbre, compatible Dispositivos Windows información en la ventana del explorador o programas de terceros... El controlador permite leer y escribir datos.

Descarga la última versión actual Ext2Fsd.

Al instalar, activamos (si es para trabajo a largo plazo) tres casillas de verificación sugeridas:

1 - Ejecución automática del controlador junto con Windows;
2 - Soporte de grabación para Ext2;
3 - Soporte de formato para Ext3.

En la etapa de preacabado, activamos la opción para abrir la ventana del administrador de controladores - - con la asignación de información a los dispositivos desde Ext2 / 3/4 letras de unidad.

En la ventana que se abrió veremos el medio con la letra ya asignada. Por ejemplo, en nuestro caso, el transportista con Ext4 se especifica la primera letra libre F.

Ahora podemos trabajar con el disco. F en la ventana del explorador.

Asignar una letra a los nuevos dispositivos conectados con Ext2 / 3/4 puedes usar Menú de contexto llamado en cada uno de los que se muestran en la ventana dispositivos. Pero simplemente al asignar una letra de unidad, dicho dispositivo no se mostrará después reiniciar windows, esta solución es solo para una sesión de computadora. Para hacer un nuevo dispositivo con Ext2 / 3/4 visible permanentemente en el entorno de Windows, debe hacer doble clic en él para abrir la ventana de configuración y establecer los parámetros de conexión permanente. En la segunda columna necesitas:

Para medios extraíbles, active la casilla de verificación, indicada por el número 1 en la captura de pantalla, y especifique la letra de la unidad;
Para discos y particiones internos, active la casilla de verificación, indicada en la captura de pantalla siguiente con el número 2, y también especifique la letra de la unidad.

Sistema de archivos(Sistema de archivos en inglés): un orden que determina la forma de organizar, almacenar y nombrar los datos en los medios de almacenamiento de los equipos de TI (utilizando tarjetas de memoria flash portátiles en dispositivos portátiles). dispositivos electrónicos: cámaras digitales, teléfonos móviles etc.) y tecnologia computacional... Define el formato del contenido y el almacenamiento físico de la información, que suele agruparse en forma de archivos. El sistema de archivos específico determina el tamaño del nombre del archivo (carpeta), el tamaño máximo posible de archivo y sección, y un conjunto de atributos de archivo. Algunos sistemas de archivos brindan capacidades de servicio, como control de acceso o cifrado de archivos.

Tareas del sistema de archivos

Las principales funciones de cualquier sistema de archivos están orientadas a resolver las siguientes tareas:

denominación de archivos;

interfaz de software para trabajar con archivos para aplicaciones;

mapear el modelo lógico del sistema de archivos a la organización física del almacén de datos;
organización de la resistencia del sistema de archivos a fallas de energía, errores de hardware y software;

En los sistemas multiusuario aparece otra tarea: proteger los archivos de un usuario del acceso no autorizado por otro usuario, así como asegurar el trabajo conjunto con archivos, por ejemplo, cuando un archivo es abierto por uno de los usuarios, para otros el mismo. el archivo estará disponible temporalmente en modo de solo lectura ...

El sistema de archivos es la estructura básica que utiliza una computadora para organizar la información en un disco duro. Al instalar un nuevo disco duro debe particionarse y formatearse para un sistema de archivos específico, después de lo cual los datos y los programas se pueden almacenar en él. Hay tres posibles opciones Sistema de archivos: NTFS, FAT32 y el sistema FAT heredado raramente utilizado (también conocido como FAT16).

NTFS es el sistema de archivos preferido para esta versión de Windows. Tiene muchas ventajas sobre el sistema FAT32 anterior; algunos de ellos se enumeran a continuación.

Capacidad para recuperarse automáticamente de algunos errores de disco (FAT32 no tiene esta capacidad).
Soporte mejorado para discos duros grandes.
Mayor grado de seguridad. Es posible utilizar permisos y cifrado para denegar el acceso de los usuarios a determinados archivos.

El sistema de archivos FAT32 y el sistema FAT raramente utilizado se utilizaron en Versiones de Windows incluidos Windows 95, Windows 98 y Windows Millenium Edition. El sistema de archivos FAT32 no proporciona el nivel de seguridad proporcionado por NTFS, por lo que si su computadora tiene una partición o volumen formateado para FAT32, los archivos de esa partición son visibles para cualquier persona con acceso a la computadora. El sistema de archivos FAT32 también tiene límites de tamaño de archivo. En esta versión de Windows, no es posible crear una partición FAT32 de más de 32 GB. Además, una partición FAT32 no puede contener un archivo de más de 4 GB.

La razón principal para usar el sistema FAT32 es que la computadora puede ejecutar tanto Windows 95, Windows 98 o Windows Millenium Edition, como esta versión de Windows (configuración con múltiples sistemas operativos). Para crear dicha configuración, debe instalar la versión anterior del sistema operativo en una partición formateada para FAT32 o FAT, convirtiéndola en la principal (la partición primaria puede contener el sistema operativo). Otras particiones a las que se accede desde versiones anteriores de Windows también deben estar formateadas para FAT32. Más primeras versiones Windows solo puede acceder a particiones o volúmenes NTFS de red. Las particiones NTFS en la computadora local serán inaccesibles.

FAT - pros:

Se necesita un poco para que funcione de manera eficaz memoria de acceso aleatorio.
Trabajo rápido con catálogos pequeños y medianos.
El disco hace menos movimientos de cabeza en promedio (en comparación con NTFS).
Trabajo efectivo en discos lentos.

FAT - contras:

Pérdida catastrófica de rendimiento con creciente fragmentación, especialmente para unidades grandes (solo FAT32).
Dificultades con el acceso aleatorio a archivos grandes (digamos, 10% o más del tamaño del disco).
Trabajo muy lento con directorios que contienen una gran cantidad de archivos.

NTFS - ventajas:

La fragmentación de archivos casi no tiene consecuencias para el sistema de archivos en sí: el rendimiento de un sistema fragmentado se degrada solo en términos de acceso a los datos del archivo en sí.
La complejidad de la estructura del directorio y el número de archivos en un directorio tampoco plantea ningún obstáculo particular para el rendimiento.
Acceso rápido a un fragmento arbitrario de un archivo (por ejemplo, editar archivos .wav grandes).
Muy acceso rapido a archivos pequeños (varios cientos de bytes): el archivo completo se encuentra en el mismo lugar que los datos del sistema (registro MFT).

NTFS - contras:

Requisitos importantes para la memoria del sistema (64 MB es el mínimo absoluto, mejor es más).
Las unidades y controladores lentos sin Bus Mastering degradan gravemente el rendimiento de NTFS.
Es difícil trabajar con directorios de tamaño mediano porque casi siempre están fragmentados.
Un disco que funciona durante mucho tiempo en un 80% - 90% de estado completo mostrará un rendimiento extremadamente bajo.

Los siguientes sistemas de archivos se consideran "nativos" para Linux (es decir, aquellos en los que se puede instalar y desde los que se puede iniciar): ext2fs, ext3fs, ext4fs, ReiserFS, XFS, JFS. Por lo general, se ofrecen para elegir al instalar la gran mayoría de distribuciones. Por supuesto, hay formas Instalaciones de Linux en los sistemas de archivos FAT / VFAT / FAT32, pero esto es solo para aquellas mieles y monsieurs que entienden mucho sobre perversiones, y no hablaré de ellas.

Los criterios principales a la hora de elegir un sistema de archivos suelen ser la fiabilidad y el rendimiento. En algunos casos, también es necesario tener en cuenta el factor de compatibilidad; en este caso, se refiere a la capacidad de otros sistemas operativos para acceder a un sistema de archivos en particular.
Comenzaré con ReiserFS, porque la razón para escribir esta nota fue la pregunta: ¿qué deben considerarse archivos pequeños? Después de todo, es bien sabido que es la eficiencia de trabajar con archivos pequeños lo que punto fuerte este sistema de archivos.

Entonces, archivos pequeños significa archivos más pequeños que el bloque lógico del sistema de archivos, que en Linux en la mayoría de los casos es igual a cuatro kilobytes, aunque se puede configurar durante el formateo dentro de ciertos límites (dependiendo del FS específico). Hay innumerables archivos tan pequeños en cualquier sistema operativo similar a Unix. Los ejemplos típicos son los archivos que componen el árbol de puertos de FreeBSD, los puertos de Gentoo y sistemas de puertos similares.
En la mayoría de los sistemas de archivos, estos mini-archivos tienen su propio inodo (un nodo de información que contiene metainformación sobre un archivo) y un bloque de datos, lo que conduce tanto a una pérdida de espacio en disco como a una disminución en la velocidad de las operaciones de archivo. En particular, esta es precisamente la razón de la ensoñación catastrófica del archivo. Sistemas FreeBSD(tanto antiguo, UFS como nuevo, UFS2) cuando se trabaja con su propio sistema de puertos.

En el sistema de archivos ReiserFS, en tales casos, no se asignan bloques separados para los datos; se las arregla para meter los datos del archivo directamente en el área de su inodo. Debido a esto, se ahorra espacio en disco y aumenta el rendimiento, literalmente varias veces en comparación con todos los demás FS.
Tal manejo de archivos pequeños de ReiserFS fue la razón de la leyenda de su falta de confiabilidad. De hecho, en el caso de una falla del sistema de archivos (es decir, la destrucción de áreas de servicio), los datos ubicados junto con sus inodos desaparecen junto con ellos, e irrevocablemente. Mientras que en aquellos sistemas de archivos donde los inodos y los bloques de datos siempre están separados espacialmente, estos últimos teóricamente pueden restaurarse. Entonces, para ext2 / ext3 incluso hay herramientas para hacer esto.

Sin embargo, como cualquier leyenda, esta solo da la impresión de autenticidad. Primero, la pérdida de datos irrecuperable se aplica solo a archivos muy pequeños. Prácticamente no hay tales usuarios entre los usuarios, mientras que todos los demás se restauran fácilmente desde el kit de distribución.
En segundo lugar, hablando de la posibilidad de recuperar datos de bloques que han perdido su vinculación con sus inodos, no usé accidentalmente la palabra "teórico". Porque en la práctica esta actividad es sumamente laboriosa y no da un resultado garantizado. Todos los que han tenido que hacer esto estarán de acuerdo en que es posible entregarse a él solo desde la completa desesperación. Y esto se aplica a todos los sistemas de archivos de Linux. Por lo tanto, este aspecto se puede descuidar al elegir un sistema de archivos.

En términos de rendimiento general, ReiserFS es definitivamente más rápido que todos los demás FS de registro en diario y, en algunos aspectos, supera a ext2. Aquí puede encontrar una comparación de la velocidad de algunas operaciones comunes de archivos de archivos.
Pero con la compatibilidad de ReiserFS, la situación es algo peor. El acceso a él desde un sistema operativo de la familia Windows, hasta donde yo sé, es imposible. Algunos sistemas operativos BSD (DragonFlyBSD, FreeBSD) admiten este sistema de archivos, pero en modo de solo lectura. Incluso las posibilidades de que un LiveCD de Linux arbitrario de antaño no tenga soporte para ReiserFS no son cero.

Y aquí es justo recordar ext3fs. Su ventaja no es en absoluto una mayor fiabilidad: esta es la misma leyenda que la inestabilidad de ReiserFS. He escuchado tanto acerca de los bloqueos de ext3fs como de ReiserFS. Yo mismo no podría destruir ni a uno ni a otro. A menos que funcionara con ext2, pero incluso eso fue hace mucho tiempo, en el momento del kernel 2.2 (o incluso 2.0).

No, la principal ventaja de ext3fs es su compatibilidad: está garantizado que será leído por cualquier sistema Linux. Por ejemplo, cuando me recuperaba de un antiguo secuaz de LiveCD, una situación que prácticamente no es tan increíble, tuve que meterme en ella. Una vez más, la mayoría de los sistemas BSD entienden ext3fs fácilmente (aunque sin llevar un diario). Para Windows, también hay, que yo sepa, todo tipo de controladores y complementos para los administradores de archivos(igual que Comandante total), proporcionando acceso a particiones con ext2fs / ext3fs.

En términos de rendimiento, ext3fs es controvertido. En primer lugar, su rendimiento depende en gran medida del modo de registro, de los cuales hay tres: con registro de datos completo, registro de datos parcial y solo registro de metadatos. En cada uno de los modos, muestra un rendimiento diferente en diferentes tipos operaciones de archivo. Sin embargo, en ningún caso la actuación es un récord.

Sin embargo, si el requisito de rendimiento se pone en primer lugar, entonces ext2fs resulta estar fuera de competencia; sin embargo, en este caso, tendrá que aguantar la ausencia de diario. Y, en consecuencia, con comprobaciones prolongadas del sistema de archivos en caso de un apagado incorrecto, y con el tamaño de los discos modernos, esto puede llevar cuánto tiempo ...

Se puede decir lo siguiente sobre XFS. En términos de compatibilidad, todo lo que está escrito para ReiserFS se aplica a él; además, hasta algún tiempo no era compatible con el kernel estándar de Linux. Desde el punto de vista del rendimiento, tampoco brilla en XFS, actuando en total aproximadamente al mismo nivel que ext3fs. Y en la operación de eliminar archivos, generalmente demuestra una lentitud deprimente.
Según mis observaciones, el uso de XFS se justifica cuando se trabaja no solo con grandes, sino con muy archivos grandes- que en realidad son solo imágenes de DVD y archivos de video.

Volviendo a la cuestión de la fiabilidad. Un apagón banal durante el trabajo normal del usuario, por regla general, migra sin dolor todos los sistemas de archivos registrados (y ninguno de ellos garantiza la seguridad de las operaciones del usuario que no se escriben en el disco; rescatar a las personas que se ahogan aquí sigue siendo el trabajo de los mismos ahogados). Es cierto que para cualquier sistema de archivos, puede simular una situación en la que apagar la alimentación provocará daños más o menos graves. Sin embargo, en la vida real, es poco probable que ocurran tales situaciones. Y puede eliminarlos por completo comprando una fuente fuente de poder ininterrumpible- dará más confianza en la seguridad de los datos que en el tipo de sistema de archivos. Bueno, la garantía de recuperar los datos dañados en cualquier caso solo puede ser su copia de seguridad periódica ...

Creo que la información anterior es suficiente para una elección informada. Mi Decisión personal en los últimos años - ReiserFS. Ocasionalmente, en sistemas donde está justificado mover todo fuera de la partición raíz, es recomendable usar ext3fs para el sistema de archivos raíz y ReiserFS para todos los demás.

Si se proporciona una partición separada para el directorio / boot (y esto se recomienda cuando los desarrolladores utilizan el cargador de arranque GRUB), no se justifica ningún otro sistema de archivos, excepto ext2fs, cualquier tipo de registro en diario no tiene sentido aquí . Finalmente, si crea una sección separada para todo tipo de materiales multimedia, entonces puede pensar en XFS.

Si aborda la explicación de manera más metódica

ext: durante los primeros días de Linux, el sistema dominante era ext2 (sistema de archivos extendido versión 2). Desde 2002, ha sido reemplazado por el sistema ext3, que es en gran parte compatible con ext2, pero también admite funciones de diario, y cuando se trabaja con la versión 2.6 del kernel y superior, también es compatible con ACL. El tamaño máximo de archivo es de 2 TB y el tamaño máximo del sistema de archivos es de 8 TB. A finales de 2008, se anunció oficialmente una versión de ext4, que es retrocompatible con ext3, pero muchas funciones se implementan de manera más eficiente que antes. Además, el tamaño máximo del sistema de archivos es 1 EB (1.048.576 TB) y puede esperar que esta cantidad sea suficiente durante algún tiempo. Acerca de reiser: el sistema recibió el nombre de su fundador, Hans Reiser, y fue el primer sistema de registro en acceder al kernel de Linux para obtener datos. La versión Zn en SUSE incluso se ha considerado estándar durante algún tiempo. Las principales ventajas del reiser sobre ext3 son su mayor velocidad y eficiencia de ubicación cuando se trabaja con archivos pequeños (y en el sistema de archivos, por regla general, la mayoría de los archivos son pequeños). Sin embargo, con el tiempo, el desarrollo de reisefers se ha estancado. Hace tiempo que se anunció el lanzamiento de la versión 4, que aún no está lista, y el soporte para la versión 3 ha finalizado. Acerca de xfs: el sistema de archivos xfs se desarrolló originalmente para estaciones de trabajo SGI que se ejecutan en el sistema operativo IRIX. Xfs es especialmente bueno para trabajar con archivos grandes, en particular es ideal para trabajar con transmisión de video. El sistema admite cuotas y atributos extendidos (ACL).
jfs

jfs - a66peBHaTypaJFS son las siglas de Journaled File System. Fue desarrollado originalmente para IBM y luego adaptado para Linux. Jfs nunca ha gozado de mucho reconocimiento en Linux y actualmente está arrastrando una existencia miserable, dando paso a otros sistemas de archivos.
brtfs

brtfs: con la voluntad de los principales desarrolladores de kernel, el sistema de archivos brtfs en Linux tiene un futuro brillante. Este sistema fue desarrollado desde cero en Oracle. Incluye soporte para mapeador de dispositivos y RAID. Brtfs es más similar al ZFS de Sun. Para ella muy características interesantes incluye la comprobación del sistema de archivos sobre la marcha, así como la compatibilidad con SSD (las unidades de estado sólido son unidades de disco duro basado en memoria flash). Desafortunadamente, el trabajo en brtfs no se completará en el futuro previsible. Fedora 11 viene con la opción de instalar brtfs, ¡pero solo se lo recomiendo a los desarrolladores de sistemas de archivos!
No existe un sistema de archivos "más rápido" o "mejor"; la estimación depende de para qué pretenda utilizar el sistema. Usuarios novatos de Linux que trabajan con computadora local, se recomienda trabajar con ext3 y los administradores del servidor con ext4. Por supuesto, con ext4, la velocidad de trabajo es mayor que con ext3, pero al mismo tiempo, en el sistema ext4 la situación es mucho peor con la confiabilidad de los datos; es posible que pierda información si el sistema se apaga repentinamente.

Si ha instalado un segundo sistema operativo similar a UNIX en su computadora, los siguientes sistemas de archivos serán útiles al intercambiar datos (de un sistema operativo a otro).

sysv: utilizado por los sistemas operativos SCO, Xenix y Coherent.

ufs: utilizado por FreeBSD, NetBSD, NextStep y SunOS. Linux solo puede leer información de dichos sistemas de archivos, pero no puede realizar cambios en los datos. Para acceder a segmentos con BSD, también necesitará la extensión de etiqueta de disco BSD. Existe una extensión similar para SunOS Partition Tables.

ZFS es un sistema relativamente nuevo desarrollado por Sun para Solaris. Dado que el código ZFS no tiene licencia GPL, no se puede integrar con el kernel de Linux. Por esta razón, Linux solo admite este sistema de archivos indirectamente a través de FUSE.
Windows, Mac OS X

Los siguientes sistemas de archivos serán útiles cuando se comunique con MS DOS, Windows, OS / 2 y Macintosh.

vfat: utilizado en Windows 9x / ME. Linux puede leer información de dichas particiones y realizar cambios en ella. Los controladores del sistema vfat también permiten trabajar con sistemas de archivos MS DOS antiguos (8 + 3 caracteres).

ntfs: el sistema se utiliza en todos versiones modernas Windows: otNT o superior. Linux puede leer y modificar sus archivos.

hfs y hfsplus: estos sistemas de archivos se utilizan en Computadoras Apple... Linux puede leer y modificar sus archivos.

Los CD y DVD de datos suelen utilizar sus propios sistemas de archivos.

iso9660: el sistema de archivos para CD-ROM se describe en el estándar ISO-9660, que solo permite nombres de archivo cortos. Los nombres largos se admiten de manera diferente en diferentes sistemas operativos, a través de una variedad de extensiones incompatibles. Linux es capaz de trabajar tanto con la extensión Rockridge, común en UNIX, como con la extensión Joliet, desarrollada por Microsoft.

udf: este formato (formato de disco universal) apareció y se desarrolló como el sucesor de ISO 9660.

Sistemas de archivos de red

Los sistemas de archivos no necesitan estar activados disco local- ellos
puede conectarse a una computadora y a través de una red. El kernel de Linux admite una variedad de sistemas de archivos de red, de los cuales los siguientes son los más utilizados.

smbfs / cifs: ayuda para asignar recursos compartidos de red de Windows o Samba a un árbol de directorios.

nfs es el sistema de archivos de red más importante de UNIX.

coda: este sistema es muy similar a NFS. Contiene muchos funciones adicionales pero no es muy común.

ncpfs: se ejecuta en el protocolo del kernel de NetWare; Novell Netware utiliza oH.

Sistemas de archivos virtuales

En Linux, hay varios sistemas de archivos diseñados no para almacenar datos en un disco duro (u otro medio), sino solo para el intercambio de información entre el kernel y los programas de usuario.
devpts: este sistema de archivos proporciona acceso a pseudo-terminales (PTY para abreviar) a través de / dev / pts / * de acuerdo con la especificación UNIX-98. (Los pseudo-terminales emulan una interfaz en serie. En sistemas UNIX / Linux, estas interfaces son utilizadas por emuladores de terminal como xterm. Por lo general, se utilizan dispositivos como / dev / ttypn. Por el contrario, la especificación UNIX-98 define nuevos dispositivos. Más información detallada informado en el terminal de texto H0WT0.)
proc y sysfs: el sistema de archivos proc se usa para mostrar información de servicio relacionada con la administración del kernel y los procesos. Además, el sistema de archivos sysfs crea relaciones entre el kernel y el hardware. Ambos sistemas de archivos están montados en / proc y / sys.
tmpfs: este sistema se construye sobre la base de la memoria compartida de acuerdo con el Sistema V. Por lo general, se monta en / dev / shm y proporciona un intercambio eficiente de información entre dos programas. En algunas distribuciones (por ejemplo, Ubuntu), los directorios / var / run y / var / lock también se crean utilizando el sistema de archivos tmpfs. Algunos demonios de red utilizan los archivos de estos directorios para almacenar números de identificación de procesos, así como información de acceso a archivos. Gracias a tmpfs, estos datos ahora se reflejan en la RAM. El método garantiza alta velocidad, y también que después de apagar la computadora, no quedarán archivos en los directorios / var / run o / var / lock.

usbfs: el sistema de archivos usbfs, a partir del kernel 2.6 y superior, proporciona información sobre los dispositivos USB conectados. Por lo general, está integrado en el sistema de archivos proc. Acerca de la compatibilidad con dispositivos USB en Linux.

Otros sistemas de archivos

auto - de hecho, no hay ningún sistema de archivos con ese nombre. Sin embargo, auto se puede usar en / etc / fstab o con el comando mount para especificar un sistema de archivos. En este caso, Linux intentará reconocer el sistema de archivos por sí solo. Este método funciona con la mayoría de los sistemas de archivos más importantes.
autofs, autofs4

autofs, autofs4 tampoco son sistemas de archivos, sino extensiones del kernel que ejecutan automáticamente el comando de montaje para los sistemas de archivos seleccionados. Si el sistema de archivos no se ha utilizado durante algún tiempo, el comando umount se ejecuta automáticamente en él. Este método es conveniente, en primer lugar, en los casos en que solo se utilizan activamente algunos de los muchos directorios NFS al mismo tiempo.

Para hacer esto, el script /etc/init.d/ autofs ejecuta automáticamente el programa de montaje automático al iniciar el sistema. Se configura mediante el archivo /etc/auto.master. Los programas correspondientes se instalan automáticamente en, por ejemplo, Red Hat y Fedora. En cualquier caso, autofs solo se activa después de configurar /etc/auto.master o /etc/auto.misc.
cramfs y squashfs

cramfs y squashfs: los sistemas de archivos Cram y Squash son de solo lectura. Se utilizan para "empaquetar" tantos archivos comprimidos como sea posible en la memoria flash o ROM (memoria de solo lectura).

fusible - FUSE son las siglas de Filesystem in Userspace y le permite desarrollar y usar controladores del sistema de archivos fuera del kernel. Por lo tanto, FUSE siempre se usa con un controlador de sistema de archivos externo. FUSE trabaja en particular con el controlador NTFS ntfs-3g.

gfs y ocfs: el sistema de archivos global y el sistema de archivos de clúster de Oracle le permiten crear sistemas de archivos en red gigantes a los que pueden acceder varias computadoras en paralelo al mismo tiempo.

jffs y yaffs - Journaling Flash File System y Yet Another Flash File System están especialmente optimizados para trabajar con discos de estado sólido y medios flash. Utilizando algoritmos especiales, intentan utilizar todas las celdas de memoria de manera uniforme (tecnología de nivelación de desgaste) para evitar fallas prematuras del sistema.
círculo

bucle: se utiliza para trabajar con pseudodispositivos. Un dispositivo de bucle invertido es un adaptador capaz de acceder a un archivo normal como dispositivo de bloque. Gracias a él, cualquier sistema de archivos puede ubicarse en cualquier archivo y luego montarlo en el árbol de directorios usando mount. La función del kernel responsable de esto, el soporte de pseudodispositivos, se implementa en el módulo de bucle.

Hay varias formas de utilizar pseudodispositivos. En particular, se pueden utilizar al crear discos en memoria para la inicialización inicial (Initial Disco RAM) para GRUB o LILO, al implementar sistemas de archivos cifrados o probar imágenes ISO de CD.

Sistemas de archivos de medios de almacenamiento

Sistemas de archivos
ISO 9660
Extensión de archivo Joliet Sistemas ISO 9660.
Rock Ridge (RRIP, IEEE P1282) es una extensión del sistema de archivos ISO 9660 diseñada para almacenar atributos de archivo utilizados en los sistemas operativos POSIX
Extensiones Amiga Rock Ridge
El torito
Extensiones de Apple ISO9660
HFS, HFS +
Especificación de formato de disco universal de un formato de sistema de archivos independiente del sistema operativo para almacenar archivos en medios ópticos... UDF es una implementación del estándar ISO / IEC 13346
Monte Rainier

ext2(también llamado como ext2fs) - Segundo sistema de archivos extendido(Segundo sistema de archivos extendido) es un sistema de archivos construido sobre el kernel de Linux. Ext2 fue creado y desarrollado por Remy Card. El sistema de archivos ext2 fue creado por él para reemplazar el anterior, versión previa- ext.

En términos de velocidad y rendimiento, este sistema de archivos puede servir como punto de referencia. Esto se evidencia en los resultados de las pruebas de rendimiento de los sistemas de archivos. Por ejemplo, en las pruebas de velocidad secuencial de lectura y escritura, que fue llevada a cabo por centro Técnico Dell, ext2 es superior a ext3, y solo es superado por el más moderno ext4 en velocidad de lectura.

La principal desventaja de ext2 es que no es un sistema de archivos de diario. Sin embargo, esta falla fue eliminada en el siguiente sistema de archivos: ext3.

ext2 se utiliza en unidades flash y discos de estado sólido(SSD) ya que la falta de registro en diario es una ventaja cuando se trata de unidades con límites de ciclo de escritura.

Historia ext2

Durante el rápido desarrollo del sistema Linux, utilizó el sistema de archivos Minix OS. Era bastante estable, pero al mismo tiempo era de 16 bits. Como resultado, tenía un límite estricto de 64 Mb por partición. Además, había una limitación en la longitud máxima de un nombre de archivo, que era de 14 caracteres.

Juntas, estas limitaciones llevaron al desarrollo del "sistema de archivos extendido" (de ahí el término " Sistema de archivos extendido "). Se le encomendó la tarea de resolver dos problemas clave de Minix. El nuevo sistema de archivos se hizo público en abril de 1992. Fue Ext, extendió el límite de tamaño de archivo a 2 gigabytes y estableció el límite de longitud del nombre de archivo a 255 caracteres.

Sin embargo, a pesar del éxito del nuevo sistema de archivos, todavía quedaban bastantes problemas sin resolver. Por ejemplo, no había soporte para el acceso dividido, no había marcas de tiempo de modificación de datos. La necesidad de resolver estos problemas fue el motivo de la creación de la próxima versión del sistema de archivos extendido ext2 (“ Segundo sistema de archivos extendido "). ext2 fue desarrollado en enero de 1993, también implementó el correspondiente el estándar POSIX ACL y atributos de archivo extendidos.

Organización lógica ext2

El gráfico de jerarquía de directorios ext2 se representa como una red. Esto se debe al hecho de que un archivo puede incluirse en varios directorios a la vez.

Todos los tipos de archivos tienen nombres simbólicos. Los sistemas de archivos organizados jerárquicamente suelen utilizar tres tipos de nombres: simple, compuesto y relativo. Entonces está en ext2. En el caso de un nombre simple, la restricción es que su longitud no debe exceder los 255 caracteres, además, el nombre no debe contener el carácter NULL y la barra.

En cuanto al carácter NULL, las restricciones están relacionadas con la representación de cadenas en el lenguaje C, en el caso del carácter de barra, todo radica en que se utiliza como carácter separador entre directorios.

El nombre completo es una cadena de nombres simbólicos simples de todos los directorios a través de los cuales la ruta va de raíz a de este archivo... En ext2, un archivo puede estar en múltiples directorios, lo que significa que puede tener múltiples nombres completamente calificados (un archivo - múltiples nombres completamente calificados). Pero de todos modos, el nombre completo define el archivo.

Atributos de Ext2:

  • tipo de archivo y permisos,
  • propietario, grupo de acceso,
  • información sobre operaciones permitidas,
  • hora de creación, fecha del último acceso, fecha ultimo cambio y la hora de la última eliminación,
  • el tamaño del archivo actual,
  • especificación de archivo:
    • archivo regular,
    • catalogar,
    • archivo de dispositivo orientado a bytes,
    • bloquear archivo de dispositivo,
    • tubería con nombre,
    • enlace simbólico,
  • el número de bloques ocupados,
  • otros

Los atributos de los archivos están contenidos en tablas especiales, no en directorios, como suele ser el caso de los sistemas de archivos simples. Como resultado, el directorio tiene una estructura muy simple con dos partes: un número de inodo y un nombre.

Organización física ext2

Estructura de la partición del disco

Como parte de ext2, se puede distinguir lo siguiente:

  • bloques y grupos de bloques;
  • inodo;
  • supermanzana.

Todo el espacio del disco se divide en bloques de tamaño fijo, que son múltiplos del tamaño del sector (1024, 2048, 4096 u 8192 bytes). El tamaño del bloque se especifica al crear un sistema de archivos en una partición de disco. Se asignan números secuenciales a todos los bloques. Para reducir la fragmentación y el número de movimientos de los cabezales del disco duro al leer grandes matrices de datos, los bloques se combinan en grupos.

El concepto básico de un sistema de archivos es el inodo (también llamado inodo - nodo de información). Es una estructura especial que contiene información sobre los atributos y la ubicación física de un archivo. Los descifradores de índices se combinan en una tabla al comienzo de cada grupo de bloques. El superbloque es el elemento principal del sistema de archivos ext2. Contiene información general sobre el sistema de archivos. El superbloque se encuentra a 1024 bytes del inicio de la sección. La integridad del superbloque determina la salud del sistema de archivos. El sistema operativo crea varios copias de seguridad superbloque - en caso de que la partición esté dañada. En el siguiente bloque después del superbloque hay una tabla de descriptores globales: una descripción de los grupos de bloques en forma de matriz con información general sobre todos los grupos de bloques.

Grupo de bloque

Todos los bloques de una partición ext2 se dividen en grupos. Se crea una entrada separada en la tabla de descriptores globales para cada grupo. Este registro almacena parámetros básicos como: número de bloque en mapas de bits y tablas, número de bloques libres en un grupo, número de inodos que contienen directorios.

Bloquear mapa de bits Es un sistema en el que cada bit informa si el bloque que le corresponde está asignado a algún archivo. Si el bit es 1, el bloque está ocupado. El mapa de bits de inodo realiza una función similar: muestra qué inodos ocupado y cuáles no. El kernel de Linux intenta distribuir uniformemente los inodos de los directorios en grupos y mover los inodos de los archivos a un grupo con el directorio principal. Todo el espacio restante que aparece en la tabla como datos se asigna para almacenar archivos.

Sistema de direccionamiento de datos

El sistema de direccionamiento de datos es uno de los componentes clave y más importantes del sistema de archivos. Gracias a ella hay archivo deseado entre muchos bloques vacíos u ocupados en el disco.

ext2 utiliza el siguiente esquema de direccionamiento de bloques de archivos. Para almacenar la dirección del archivo, se asignan 15 campos, cada uno de los cuales consta de 4 bytes. Si el archivo encaja en 12 bloques, los números de los grupos correspondientes se enumeran en los primeros doce campos de la dirección. Si el tamaño del archivo supera los 12 bloques, el siguiente campo contiene la dirección del clúster en el que se pueden ubicar los números de los siguientes bloques del archivo. Por tanto, el decimotercer campo se utiliza para el direccionamiento indirecto.

A talla máxima bloque de 4096 bytes, el clúster correspondiente al campo 13 puede contener hasta 1024 números de los siguientes bloques del archivo. Si el tamaño del archivo supera los 12 + 1024 bloques, se utiliza el campo 14, que contiene la dirección de un clúster que contiene 1024 números de clúster, cada uno de los cuales se refiere a 1024 bloques de archivo. Aquí ya se utiliza el direccionamiento indirecto doble. Y si el archivo contiene más de 12 + 1024 + 1048576 bloques, entonces se aplica el último campo 15 para el direccionamiento indirecto triple.

Este sistema de direccionamiento permite un tamaño de bloque máximo de 4096 bytes para tener archivos de más de 2 TB.