Red de conocimiento informático - Aprendizaje de programación - ¿Cómo se cruzan las llamadas del sistema Linux con el kernel o los controladores de bajo nivel?

¿Cómo se cruzan las llamadas del sistema Linux con el kernel o los controladores de bajo nivel?

1. struct file_operaciones es una operación de controlador de dispositivo de caracteres y un número de dispositivo vinculados entre sí. Es una colección de punteros. Cada archivo abierto

corresponde a una serie de operaciones, es decir, file_operaciones, que se utiliza para. ejecutar Una serie de llamadas al sistema.

2. El archivo struct representa un archivo abierto, que se crea al ejecutar la operación de apertura en file_operation. Lo que hay que tener en cuenta es la diferencia con el puntero de inodo en el espacio de usuario.

El La diferencia es que uno está en el kernel y el otro es un puntero de archivo en el espacio del usuario, definido por la biblioteca c.

3. El núcleo utiliza el inodo de estructura para representar un archivo. Tenga en cuenta la diferencia entre el archivo de estructura y el inodo de estructura. .

struct inode Incluye dos miembros muy importantes:

dev_t i _rdev número de dispositivo del archivo del dispositivo

struct cdev *i_cdev representa la estructura de datos del dispositivo de caracteres, y la estructura struct inode se utiliza para representar el documento. El mismo archivo se puede abrir varias veces

, por lo que puede corresponder a varios archivos de estructura, pero solo puede corresponder a un inodo de estructura.