Oct 04

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.

Mar 05

Evolución al Firmware

BIOS Para hacer que cualquier dispositivo trabaje de una forma “inteligente”, es decir, que pueda ejecutar cualquier tipo de programa, hace falta que haya alguna cosa que enlace ese programa con la electrónica subyacente en el propio dispositivo.

 Para que un PC sepa ¿que es un disco duro?, ¿donde está conectado? y como hacerlo funcionar, tiene que haber alguien se lo diga y le ayude a usarlo. Eso sirve para todos los dispositivos que estén conectados al PC.Bios

 El elemento que tenía esta información en los PCs hasta mediados de los años 90, eran la ROM (Read Only Memory) y la BIOS (Basic Input/Output System), de los cuales ya hable al describir los Buses de Datos. La ROM no podía borrarse, lo cual era conveniente para que pasara lo que pasara con en PC, siguiera estando en su interior el programa que permitía trabajar a los dispositivos del PC.

EEprom Esto, a medida que pasaba el tiempo y los ordenadores evolucionaban muy rápido, generó un problema, pues si en el proceso de programación y fabricación se cometía un fallo o estando en fabricación, se quería añadir alguna funcionalidad nueva, ya no servia esa ROM y había que cambiarla por otra.

 Para solucionar este problema, se cambiaron las ROMs por EEPROM (Electrically Erasable Programmable Read-Only Memory) que permitían la modificación del programa interno de arranque. Así apareció el concepto de Firmware, para determinar un programa que era el mediador entre el Hardware (la parte física del ordenador) y el Software (la parte lógica o programas del ordenador).Firmware

 La modificación de este firmware es MUY DELICADA y debe hacerse solo en circunstancias especiales. Hay que tener en cuenta que el hecho de que se interrumpa el suministro eléctrico mientras se realiza esta operación, puede inutilizar por completo el equipo que estemos actualizando o modificando. Cuando un dispositivo se queda en este estado, se suele decir que se ha quedado “Brick”.

iOS 5 Las ventajas que ofrece este sistema, son tantas, que casi todos los dispositivos actuales llevan este sistema de Firmware para que se puedan actualizar en caso necesario. Reproductores de DVD, Blu-ray, TV digitales, TDT, PCs, Equipos de sonido, E-Books, teléfonos móviles (celulares)…

Android Es precisamente en estos últimos, en los que ha tenido unas repercusiones increíbles. El teléfono móvil ha pasado a ser como un pequeño PC. Esto ha supuesto que en los móviles de alto nivel, se cambie de versión de su sistema operativo con bastante asiduidad. Los sistemas más ampliamente usados en la actualidad, corresponden a iOS (antes iPhone OS), promocionado y usado por Apple y el Android, promocionado y usado por varios fabricantes y liderados por Google. Para poder cambiar algunas de las funcionalidades de estos sistemas, se modifican las propias ROMs del sistema haciendo lo que se llama “Flash” o flasheo.

 El futuro está ahí fuera (si las leyes lo permiten).