El núcleo de Unix actúa como intermediario entre sus programas y el ordenador. En primer lugar, gestiona la memoria de todos los programas o procesos, y se asegura de que se reparten los ciclos del procesador. Además, proporciona una interfaz portable para que los programas ``hablen'' fácilmente con su hardware.
Realmente, el núcleo hace más cosas, pero las anteriores son las más importantes.
Los núcleos nuevos normalmente ofrecen la posibilidad de entenderse con más accesorios hardware (o sea, incluyen más manejadores), se ejecutan más rápidos, son más estables o corrigen errores de otras versiones. Mucha gente se actualiza el núcleo para poder usar nuevos manejadores que necesitan o librarse de ``bugs'' de la versión que usaban.
Véanse el documento Hardware-HOWTO, el fichero `config.in'
de las
fuentes o simplemente verá lo que hay cuando haga `make
config'
. Esto
le mostrará lo soportado por la distribución estándar, pero no todo,
pues algunos son módulos cargables en ejecución (como manejadores de
PCMCIA) y se mantienen y distribuyen por vías distintas.
Linus recomienda una en el fichero README de las fuentes del núcleo. Si no la tiene, probablemente tenga que actualizarse las librerías libc, algo que tampoco es difícil.
Hay partes del código del núcleo que no se enlazan directamente en el núcleo. Se compilan por separado y luego se incorporan al núcleo que ya está corriendo. Es la forma preferida de usar algunos manejadores como los de dispositivos PCMCIA o de cintas QIC-80/40.
Depende de su configuración. La versión 2.0.10 del núcleo ocupa, comprimida, 6 megabytes, pero al descomprimir ocupará unos 24 MB. Pero aquí no acaba la cosa: para compilar se necesita espacio para ficheros temporales, dependiendo de la configuración que se elija. Por ejemplo, en un 386, con manejador de red de 3Com y cinco sistemas de ficheros supone 30 MB. Si a esto añadimos las fuentes comprimidas, serán 36 MB. En otro sistema con menos cosas puede ocupar menos. Además, un núcleo nuevo tendrá por lo general muchos más ficheros que el antiguo, con lo que debe asegurarse de que hay espacio de disco suficiente (además, con los precios que tienen ahora los discos, me puedo permitir el recomendarle que se compre un disco nuevo para el Linux).
Para mucha gente, se tarda ``muchísimo''. La velocidad del sistema y la cantidad de memoria son determinantes. En un 486DX4/100 con 16 MB, se tarda unos 20 minutos en compilar el núcleo v1.2 con cinco sistemas de ficheros, soporte de red y manejadores de tarjetas de sonido. En un 386DX/40 con 8 MB de RAM se tarda una hora y media. Por lo general se recomienda prepararse un café o ver la televisión (o lo que se le ocurra) mientras se compila el núcleo. Otra posibilidad es compilarlo en un PC más rápido que el suyo, de algún amigo.