Red de conocimiento informático - Material del sitio web - ¿Cómo utilizar la función API del kernel proc_create?

¿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.