Debe introducir al menos 3 caracteres en el buscador.
Inicio / Wikis / Tutoriales / Guía de Programación de Módulos del Núcleo Linux - Cambios entre 2.0 y 2.2

Guía de Programación de Módulos del Núcleo Linux - Cambios entre 2.0 y 2.2

 ----- 
GNU Free Documentation License Tutorial de Ori Pomerantz - 27 de Febrero de 2006
Temas Relacionados: LinuxSistemas operativos
16. Cambios entre 2.0 y 2.2
No conozco todo el núcleo tan bien como para documentar todos los cambios. En el transcurso de la conversión de los ejemplos (o más bien adaptando los cambios de Emmanuel Papirakis) me encontré con las siguientes diferencias. Las relaciono aquí, todas juntas, para ayudar a los programadores de módulos (especialmente aquellos que aprendieron de versiones previas de este libro y que están más familiarizados con las técnicas que utilizo) a convertirse a la nueva versión.

Un recurso adicional para la gente que quiera convertirse a 2.2 está en http://www.atnf.csiro.au/##~##rgooch/linux/docs/porting-to-2.2.html##.

  1. asm/uaccess.h Si necesitas put_user o get_user tienes que incluir (#include) sus ficheros de cabeceras.
  2. get_user En la versión 2.2, get_user recibe tanto el puntero a la memoria de usuario como la variable en la memoria del núcleo para rellenarla con la información. El motivo por el que esto es así es que get_user ahora puede leer dos o cuatro bytes al mismo tiempo si la variable que leemos es de una longitud de dos o cuatro bytes.
  3. file_operations Esta estructura ahora tiene una función de borrado entre las funciones open y close.
  4. close en file_operations En la versión 2.2, la función close devuelve un entero, por lo tanto se permite que falle.
  5. read y write en file_operations Las cabeceras de estas funciones han cambiado. Ahora devuelven ssize_t en vez de un entero, y su lista de parámetros es diferente. El inodo ya no es un parámetro, y en cambio sí lo es el desplazamiento dentro del fichero.
  6. proc_register_dynamic Esta función ya no existe. En vez de ello, llamas al proc_register normal y pones cero en el campo de inodo de la estructura.
  7. Señales Las señales en la estructura de tareas ya no son un entero de 32 bits, sino un array de enteros _NSIG_WORDS.
  8. queue_task_irq Incluso si quieres planificar una tarea para que suceda dentro de un manejador de interrupciones, usa queue_task, no queue_task_irq.
  9. Parámetros del Módulo Ya no hay que simplemente declarar los parámetros del módulo como variables globales. En 2.2 tienes que usar también MODULE_PARM para declarar su tipo. Esto es una gran mejora, porque permite que el módulo reciba parámetros de cadenas de caracteres que empiezan con un dígito, por ejemplo, sin que esto le confunda.
  10. Multiproceso simétrico El núcleo ya no está dentro de un solo `spinlock' grande, lo que significa que los módulos del núcleo tienen que tener en cuenta el SMP.
Autor y licencia de 'Guía de Programación de Módulos del Núcleo Linux - Cambios entre 2.0 y 2.2'
Ori Pomerantz Extraído de: http://es.tldp.org/Manuales-LuCAS/doc-progmodlinux/doc-progmodlinux-html/ GNU Free Documentation License
Licencia GNU Free Documentation License: http://www.es.gnu.org/licencias/fdles.html
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.

Wikis relacionados con 'Guía de Programación de Módulos del Núcleo Linux - Cambios entre 2.0 y 2.2'

En este documento se presenta la información acerca de la instalación, configuración, ejecución y mantenimiento... Más »
Esta es la primerísima edición del Linux en Castellano COMO. La audiencia a la que... Más »
Este documento pretende ser el punto de entrada de los hispanohablantes al mundo Linux, intentando... Más »
Este documento describe el soporte de sonido para Linux. Enumera el hardware de sonido soportado,... Más »
Este artículo relaciona la recepción crítica del Portrait of the Artist as a Young Man,... Más »
¿Estás seguro de que deseas eliminar este capítulo?