Hola necesito hacer 2 modulos en linux que hagan lo siguiente
El objetivo de la práctica consiste en la implementación de dos módulos cargables en el núcleo de Linux. Dichos módulos A y B deberán realizar las siguientes acciones: 1. Ambos módulos han de mostrar en el momento de inserción y de extracción un mensaje informativo mediante la función del núcleo printk () con los siguientes datos: • El instante de inserción y de extracción (Dato que se puede obtener de 3 formas distintas: • Para ello se puede consultar la variable xtime(kernel/sched.c:52 volatile struct timeval xtime. struct timeval esta definido en include/linux/time.h:12. • Utilizar la macro CURRENT_TIME • Invocar la función void do_gettimeofday(struct timeval *tv) que ofrece precisión en micro segundos. • El pid del proceso invocante de la orden correspondiente (insmod o rmmod). Para ello habrá que acceder a la estructura que mantiene la información sobre el proceso padre del proceso actual. El proceso actual será el propio insmod o rmmod. Al proceso actual se puede acceder con la macro current definida en include/linux/sched.h:323 que es un puntero a la estructura del proceso (struct task_struct *). En dicha estructura son de interés, para este caso, las entradas siguientes: int pid; /* pid del proceso */ struct task_struct * p_pptr; /* puntero al proceso padre */ El tipo struct task_struct está definido en include/linux/sched.h:174 2. Además de imprimir la información anterior, el modulo A deberá implementar una función pública del tipo yo-he-estadoaquí, que muestre, al igual que en caso anterior, en qué instante ha sido invocada, y qué proceso (pid). A su vez, deberá registrar en una variable interna, cual ha sido la última visita recibida, y mostrar su información cuando el modulo A sea extraído del núcleo cleanup_module. 3. El módulo B deberá visitar al modulo A, invocando a la función yo-he-estado-aquí, tanto al ser insertado en el núcleo, como al ser extraído del mismo.
Pueden ayudarme, darme ideas , consejos, documentación
Gracias !!!
|