¿Cómo utilizar la función API del kernel proc_create?
Vea una demostración de cómo eliminar la referencia a un puntero nulo usando esta función.
Sistema de archivos Proc
El sistema de archivos Proc es un sistema de archivos virtual, que puede interpretarse como una interfaz abierta a los usuarios por el kernel, lo que permite que el kernel y los procesos del usuario intercambien datos. (leer datos de proceso del kernel, modificar parámetros del kernel, etc.):
Crear un nuevo archivo Proc
Para crear un sistema de archivos proc, necesitamos implementar una interfaz simple: file_operation. Podemos implementar más de 20 funciones, pero las operaciones comunes son lectura y escritura.
Para registrar una interfaz, utilice la función proc_create.
Para crear un archivo proc, es necesario implementar file_operation. Para crear un archivo proc, debe implementar la estructura file_operation, que implementa principalmente lectura y escritura. Luego use proc_create para registrarse. Después de registrar el módulo con el kernel, nuestros archivos se pueden encontrar en el directorio /proc/.
Al leer y escribir este archivo, los procesos del usuario pueden comunicarse con el kernel.
mydev.c:
Makefile:
Salida:
user_app.c:
Salida:
proc_create es una nueva característica en el kernel 3.10 y superior, que reemplaza al anterior create_proc_entry
Kernel 3.9
Kernel 3.10
La principal diferencia entre los dos es que proc_create pasa file_operation como parámetro, mientras que proc_create_data establece file_operation después de crear proc_dir_entry.entry y luego establece file_operation.
1.Desarrollo del kernel de Linux: creación de archivos de proceso e interacción con el espacio del usuario
2.Guía de programación del módulo del kernel de Linux 2.