como compilar el Kernel Linux (en construcción)

Iniciado por xexio, 2 Junio 2010, 23:32 PM

0 Miembros y 1 Visitante están viendo este tema.

xexio

¿Qué es el kernel de Linux y lo que es más importante qué es un kernel?


Definición de Kernel: En informática, el kernel es el componente central de la mayoría de sistemas operativos. Entre las responsabilidades del núcleo figuran la gestión de los recursos del sistema (la comunicación entre los componentes de hardware y software).
Por lo general, como un componente básico de un sistema operativo, un kernel puede proporcionar el nivel de abstracción más bajo al nivel de los recursos que el software de aplicación debe controlar el cumplimiento de su función.
Normalmente hace que estas instalaciones disponibles para los procesos de aplicación a través de mecanismos de comunicación entre procesos y llamadas al sistema.

Definición del Kernel de Linux:

El kernel Linux es un núcleo del sistema operativo utilizado por la familia de sistemas operativos Linux.  Es uno de los ejemplos más prominentes del software libre y de código abierto.
El kernel de Linux se distribuye bajo la GNU General Public License versión 2 (GPLv2)  y es desarrollado por los contribuyentes en todo el mundo. Día a día se producen los cambios en la lista de correo del núcleo de Linux.
El kernel de Linux fue inicialmente concebido y creado por el finlandés de informática estudiante Torvalds en 1991. Linux se acumularon rápidamente a los desarrolladores y usuarios que adoptaron el código de otros proyectos de software libre para su uso con el sistema operativo nuevo. El kernel de Linux ha recibido contribuciones de miles de programadores.

Por ahora esta en construcción, es tarde y mañana trabajo, siento dejarlo tan en pañales, mañana que termino el curro ya definitivamente me pondré al ajo :D

PD: la información la he sacado de la Wikipedia, pero bueno, tampoco creo que lo que es el kernel y tal sera lo más importante.




luinuz

Poco a poco, esta bien lo que llevas, ten en cuenta que es un tema muy muy extenso. Yo añadiria algunas ideas mas por ahora. Solo las voy a comenzar enunciando pero seria necesario ir desarrollandolas muuuucho mas e incluso ir haciendo esquemas de las explicaciones.


El kernel basicamente se encarga de intercomunicar los diferentes modulos que contiene, es como el medio por donde se transmiten los mensajes entre modulos. Un modulo normalmente se encarga de gestiona cierto tipo de HW...

Los modulos se pueden compilar de varias formas;
- De carga dinamica
- "Incrustados" con el resto del kernel

El tamaño del kernel dependera del numero de drivers que compilemos de forma incrustada
El kernel es lo primero que se carga en RAM y su espacio de direcciones no es accesible desde espacio de usuario....

Como decidir que drivers incrustar en el kernel y cuales dejarlos de carga dinamica?
Si conocemos bien nuestro HW es sencillo, los que debemos incrustar en el kernel son aquellos modulos que manejaran HW que no cambiara nunca en nuestra maquina, discos duros, opcion para SMP, extension PAE......

Explicacion PAE
....

Explicacion SMP
....

luinuz

Se me ha ocurrido una cosa, no se si os gustara la idea.

Si colaborara todo el que quisiera, escribiendo sobre lo que sabe y solicitando correciones (en caso que sean oportunas) a los autores de otras partes del texto, podria llegar a salir un documento muy amplio y de referencia.

Que os parece si se abre un google docs compartido, por aquello de la facilidad a la hora de editar y ampliar, y dejamos aki puesto el link?