Sistema de archivos
El propósito del sistema de archivos es buscar archivos a través de directorios y encontrar ubicaciones libres para almacenar archivos.
Composición: superbloque, estructura de directorios, estructura que describe los atributos del archivo, operaciones relacionadas con el sistema de archivos
sysfs: superbloque, directorio sys_dirent, atributos kset, kobject
vfs: superbloque, directorio dentry, atributo inodo
bdevfs: superbloque, directorio dentry, atributo bdevfs_inode (incrustado en block_device)
Superbloque, tabla libre, archivo de directorio (Control de archivos) Bloque FCB), archivos ordinarios, operaciones relacionadas con el sistema de archivos (búsqueda, lectura y escritura, etc.)
Superbloque: el primer bloque del sistema de archivos se denomina superbloque. Describe el tamaño del bloque del sistema de archivos, los atributos relacionados con la tabla libre (como la dirección, el tamaño de cada elemento, etc.), la dirección del directorio raíz
Lista libre: bloques de disco libres en el disco
Archivo de directorio: nombre del archivo de almacenamiento, atributos del archivo, dirección del archivo y otra información.
Divida el archivo del directorio en dos partes: la parte relacionada con la búsqueda de archivos (nombre de archivo, tipo de archivo) y el atributo del archivo. parte (inodo, FAT)
Almacenamiento secuencial: almacena archivos en sectores continuos
Almacenamiento encadenado: almacena archivos en bloques de archivos no consecutivos y cada archivo finaliza rápidamente La dirección del siguiente el bloque de archivos se almacena al final
Almacenamiento de índice: coloque todos los números de bloque del archivo en una estructura de índice
Ventajas y desventajas: almacenamiento secuencial, lectura Es más rápido, pero es fácil desperdiciar una gran cantidad de espacio de almacenamiento en disco; el almacenamiento en cadena puede aprovechar al máximo el espacio de la memoria, pero no puede acceder aleatoriamente a ninguna parte del archivo y la velocidad de acceso es lenta; el almacenamiento del índice puede acceder aleatoriamente a cualquier parte del archivo; que puede considerarse como un esquema de optimización para el almacenamiento encadenado.
El sistema de archivos de disco de Linux utiliza ext2
Método de organización: superbloque, mapa de bits de bloque libre, archivo de directorio con solo el nombre del directorio, mapa de bits de inodo, inodo (incluidos los atributos del archivo, dirección del disco del archivo). ), método de almacenamiento de índice, tabla ext_fIle_operaciones, tabla ext_file_inode_operaciones
Método de almacenamiento de archivos: almacenamiento de índice.
Los directorios de enlaces físicos comparten un inodo. Dado que un enlace físico vincula directamente el nombre del archivo con el número de nodo índice (es decir, número de inodo), el enlace físico tiene las siguientes características: 1. Los archivos tienen el mismo número de inodo y bloque de datos, lo que hace posible modificar uno de los atributos de archivos de enlace físico o datos de archivos, otros archivos de enlace físico se modificarán en consecuencia 2. Solo se pueden crear archivos existentes 3. La creación no se puede realizar entre sistemas de archivos (es decir, particiones) 5. Eliminar Cuando uno de los archivos vinculados está vinculado, no afectará a los otros archivos vinculados.
Un enlace suave es un archivo que almacena la ruta al archivo de destino. Cuando se crea un enlace suave, el recuento de enlaces i_nlink en el inodo del archivo de destino no aumenta. Dado que un enlace suave tiene su propio número de nodo de índice (es decir, número de inodo) y bloque de datos de usuario (bloque de datos), no tiene muchas restricciones de un enlace físico. Sus características son las siguientes: 1. Un enlace suave tiene su propio archivo. atributos, número de inodo y bloque de datos, pero editar un archivo en realidad es editar el archivo fuente. 2. Se pueden crear archivos o directorios que no existen. 3. Se pueden crear en todos los sistemas de archivos (es decir, particiones). comando para crear en todos los sistemas de archivos, el archivo fuente debe ser una ruta absoluta; de lo contrario, es un enlace inactivo 4. Se pueden crear archivos o archivos de directorio 5. Eliminar un enlace suave no afecta el archivo fuente, pero si el archivo fuente; se elimina, el archivo de enlace suave relacionado se convierte en un enlace colgante. Si se vuelve a crear el archivo fuente (dirección original y nombre de archivo original), el enlace inactivo se restaurará a un enlace suave normal.
Propósito: encapsular diferentes sistemas de archivos y proporcionar una interfaz unificada hacia arriba
Composición: superbloque, entrada de directorio dentry, atributo de archivo inodo tipo de sistema de archivos tipo_sistema_archivo, descripción de instalación del sistema de archivos ¿Bajo qué padre? sistema de archivos vfsmount
Como se muestra en la figura, instale los sistemas de archivos ext2 y fat en vfs: i_ops, i_fops y d_ops se configuran como operaciones únicas para cada sistema de archivos, y s_fs_info en el superbloque apunta al archivo específico. El superbloque del sistema; el punto de montaje del sistema de archivos se describe en vfsmount.
Primero registre el punto de instalación en vfsmount. De acuerdo con el método de lectura de superbloque en file_system_type, lea super_block y luego de acuerdo con el método de construcción de inodo en super_block, construya un inodo e inicialícelo y luego construya dentry de acuerdo con inode-gt;