next up previous contents index
Next: Makefiles para los m�dulos Up: Guía de Programación de Previous: Para la versi�n 1.1.0   Contents   Index


Hola, mundo

Cuando el primer programador de las cavernas cinceló el primer programa en las paredes de la primera computadora de las cavernas, era un programa para imprimir la cadena de caracteres `Hola, mundo' en las pinturas de los Antílopes. Los libros de texto de los romanos sobre programación empezaban con el programa `Salut, Mundi'. No sé qué puede ocurrirle al que rompa esta tradición, y creo que es más seguro no averiguarlo.

Un módulo del núcleo tiene que tener por lo menos dos funciones: init_module que se llama cuando el módulo se inserta en el núcleo, y cleanup_module que se llama justo antes de ser quitado. Típicamente, init_module o bien registra un manejador para algo que tiene que ver con el núcleo, o reemplaza una de las funciones del núcleo con su propio código (normalmente código para hacer algo y luego llamar a la función original). La función cleanup_module se supone que deshace lo que init_module ha hecho, de forma que el módulo pueda ser descargado de una forma segura.

hello.c

/* hello.c 
 * Copyright (C) 1998 by Ori Pomerantz
 * 
 * "Hello, world" - la versi�n m�dulo del n�cleo. 
 */

/* Los archivos de cabeceras necesarios */

/* Est�ndar en los m�dulos del n�cleo */
#include <linux/kernel.h>   /* Estamos realizando trabajo del n�cleo */
#include <linux/module.h>   /* Espec�ficamente, un m�dulo */



/* Distribuido con CONFIG_MODVERSIONS */
#if CONFIG_MODVERSIONS==1
#define MODVERSIONS
#include <linux/modversions.h>
#endif        



/* Inicializa el m�dulo */
int init_module()
{
  printk("Hola, mundo - este es el n�cleo hablando\n");

  /* Si retornamos un valor distinto de cero, significa
   * que init_module fall� y el m�dulo del n�cleo
   * no puede ser cargado */ 
  return 0;
}


/* Limpieza - deshacemos todo aquello que hizo init_module */
void cleanup_module()
{
  printk("La vida de un m�dulo del n�cleo es corta\n");
}



Subsections
next up previous contents index
Next: Makefiles para los m�dulos Up: Guía de Programación de Previous: Para la versi�n 1.1.0   Contents   Index
2003-08-27