Sitio web de resúmenes de películas - Conocimientos de interpretación musical - El proceso de lectura de archivos en el sistema de archivos LFS

El proceso de lectura de archivos en el sistema de archivos LFS

El proceso de lectura de archivos en el sistema de archivos LFS es el siguiente:

Proceso

1. Análisis basado en linux 2.6.26

2. Analizando el proceso de implementación de la función de lectura de Linux, la función de entrada es sys_read de fs/read_write.c

3, y la definición de archivo->f_op->read es la función do_sync_read

4, sys_read->vfs_read->do_sync_read

5. La definición de filp->f_op->aio_read se puede ver en la definición de file_operation como generic_file_aio_read. sys_read->vfs_read->do_sync_read->generic_file_aio_read, ubicado en mm/filemap.c

6 Si el archivo de destino define el indicador O_DIRECT, omita la capa de búfer directamente y use la función generic_file_direct_IO para pasar la lectura. solicite directamente a Si la capa del controlador del dispositivo de bloque no está definida, se llama a do_generic_file_read(filp,ppos,&desc,file_read_actor). La estructura del tercer parámetro read_descriptor_t guarda información relacionada con la lectura y el cuarto parámetro file_read_actor se usa para esperar datos. a transferir a Después de la capa de búfer del kernel, copie los datos a la capa de usuario.