Qué es el Kernel

firmware y kernel Cuando allá por marzo hablaba del firmware, hubo muchas cosas que me quedaron por explicar, debido a que solo explique las bases de todo un conjunto de elementos. Para entender algo más sobre los PCs y también los dispositivos móviles actuales, hay que hablar de algunas cosas más.

 En una de mis explicaciones sobre GNU y el software libre, hice mención al Kernel de Linux. Después de repasar algunas entradas, decidí explicar un poco mas esa palabreja que a alguno le sonará extraña.

Trabajo del kernel Podría decir que el Kernel para un sistema operativo, es lo mismo que la CPU (Unidad central de proceso) para cualquier PC, que es tanto como decir que es la base sobre la que se sustenta el propio sistema operativo. Por ello, también se le suele llamar “núcleo del sistema operativo”.

 Si en el firmware del PC o del dispositivo correspondiente, guardamos la configuración del hardware, cuando el PC acaba de verificar todo el hardware, lo siguiente que hace, es cargar el Kernel del sistema operativo. Este se encargara de realizar operaciones como la gestión de memoria, interrupciones usadas, planificación de eventos y llamadas a funciones básicas, para que cualquier programa o función del sistema operativo, tenga un soporte sobre el cual apoyarse.kernel y librerias

 Al interpretarse este núcleo como una capa mas entre lo que es la física del equipo (hardware) y la relación final con las personas (software), ha habido y siguen habiendo discusiones de hasta donde tiene que llegar o que funciones debe contener un Kernel. Unos han optado por poner muchos elementos dentro del núcleo, formando así un sistema monolítico, en cambio ha habido otros que han optado por un sistema con un mínimo de funciones básicas y dejar todo el resto del trabajo a programas servidores. Esto es llamado MicroKernel.microkernel

 Evidentemente siempre hay quien opta por la vía del medio y no han faltado los que han usado parte de unos y de otros para realizar un Kernel que podríamos llamar “hibrido”.

 Es por tanto interesante saber que nuestro teléfono móvil (celular) con sistema Android, como nuestro PC con cualquier Windows instalado o incluso con nuestro Linux favorito o nuestro equipo Mac, tienen todos un Kernel en su interior.

GNU y Software Libre

Richard StallmanEn esta entrada voy a intentar hacer una aproximacion al concepto de GNU y software libre, para iniciar esta aproximacion, no puedo dehar de hablar de un personaje llamado Richard Stallman, para ello he extraido este parrafo de la pagina http://www.sindominio.net/unomada/

Richard Stallman, antiguo hacker del mítico Laboratorio de IA del MIT, fundó el proyecto GNU en 1984 con el objeto de desarrollar un sistema operativo libre GNU. Una variante de GNU son los actuales sistemas basados en el kernel Linux, y que juntos constituyen el popular GNU/Linux. Stallman es presidente de la Free Software Foundation (FSF), una organización sin ánimo de lucro dedicada a eliminar las restricciones sobre el copiado, redistribución, comprensión y modificación de los programas de ordenador. Suyas son algunas de las mejores piezas de software hoy existentes, como el editor Emacs, el GNUdepurador GDB o el compilador GNU C (GCC). También ideó el concepto de copyleft y redactó la GPL, o “licencia pública general”, bastión legal y político del software libre. “El software libre es una cuestión de libertad: la gente debería ser libre de usar el software de todas las formas consideradas socialmente útiles”, suele decir Stallman. Desde hace tiempo, Richard Stallman y la FSF se han significado también por su oposición a las patentes de software, verdadera amenaza para la continuidad del software libre.

Linus Torvalds - LinuxCreo que todos tenemos claro que existe un software de pago y uno gratuito, pero eso no implica que todo el software libre sea gratuito, ni que todo el software con copyright sea de pago. ¿De que estamos hablando?.

El principio basico del software GNU, no es simplemente que puedan distribuirse los programas gratuitamente, sino que su potencia estriba en que te ofrecen tambien el codigo del programa y esto te permite modificarlo para mejorarlo, siempre con la condicion de que el codigo con la mejora realizada, lo dejes tambien disponible para que otra persona FSFpueda hacer lo mismo. Estamos obligados a informar de quien es el creador de cada parte, puesto que no puedes distribuir como tuyo el codigo que ha hecho otra persona.

Hay soluciones intermedias, donde una parte es software privativo y otra es software libre. En muchas versiones de Linux ocurre esto, pues aunque su base pueda ser de software libre, hay muchos que en su repositorio se puede descargar software privativo. Tambien hay programas de software libre que estan preparados para funcionar bajo un entorno Windows (privativo).

Muchas veces no es sencillo independizar una cosa de la otra, pues no estan identificados tan facilmente como a muchos nos gustaria. De todas formas, siempre podemos dirigirnos a la Free Software Foundation (FSF) para guiarnos un poco.

Es conveniente para cualquier persona que vaya a usar un ordenador, el leer un poco sobre las conferencias dadas por Richard Stallman y Linus Torvalds.