¿Qué es el Kernel y para qué sirve?
por Juan Antonio Soto¿Qué es el Kernel?
El Kernel o núcleo, es una parte fundamental del sistema operativo que se encarga de conceder el acceso al hardware de forma segura para todo el software que lo solicita, el Kernel es una pequeña e invisible parte del sistema operativo, pero la más importante, ya que sin esta no podría funcionar. Todos los sistemas operativos tienen un Kernel, incluso Windows 10, pero quizá el más famoso es el Kernel de Linux, que ahora además está integrado en Windows 10 con sus últimas actualizaciones.
Este núcleo de los sistemas operativos se ejecuta en modo privilegiado con acceso especial a los recursos del sistema para poder realizar las peticiones de acceso que le va pidiendo el software que lo necesita, además como los recursos no son ilimitados, también hace de arbitro a la hora de asignarlos, decidiendo el orden de las peticiones recibidas según la prioridad e importancia de estas. Una gestión muy importante y fundamental que en la mayoría de las ocasiones pasa desapercibida aún siendo un trabajo esencial para coordinar todo el hardware con el software.
El kernel de Windows es privado y su código lo tienen a salvo en el que solamente Microsoft puede realizar modificaciones para mejorar sus próximas versiones de Windows 10, al igual pasa con el de macOS, basado en Unix pero con licencia privada se reserva al equipo de desarrollo encargado en Apple de realizar estas modificaciones, pero Linux tiene un Kernel público bajo licencia GPL v2 y su código (o la mayor parte) está disponible para poder descargarlo, examinarlo o incluso realizar aportes y modificaciones útiles para los demás usuarios.
Se ha publicado en GitHub el código fuente del sistema operativo MS-DOS para poder examinarlo, este sistema operativo lo constituye un núcleo básico en el que solo se puede ejecutar una instrucción a la vez, si eres un curioso y te gustaría saber como está programado un sistema operativo en el que no existe el multiusuario, puedes descargar su código fuente y examinarlo o incluso modificarlo a tu gusto para hacerlo funcionar en un PC.
¿Para qué sirve el Kernel?
El Kernel o núcleo de un sistema operativo sirve para administrar los recursos de hardware solicitados por los diferentes elementos de software y hacer de intermediario decidiendo a que y cuando se concede este acceso evitando así sobrecarga del sistema, recursos innecesarios y acceso a software malicioso al propio Kernel y llegar a poder controlar así todo el sistema. De este modo el Kernel sirve como elemento de seguridad teniendo que pasar por varias capas antes de poder tener acceso, además tiene que distribuir los recursos de manera eficiente y ordenada para que el Hardware trabaje junto al Software de la mejor manera posible.
Aunque usualmente relacionamos un Kernel o un núcleo del sistema operativo a un PC, también está presente y sirve para hacer funcionar todos los computadores que podemos encontrar hoy en día, como por ejemplo un ordenador de a bordo de un coche o un barco, una raspberry PI que ejecuta una versión adaptada de Linux Debian o los dispositivos móviles con Android e iOS, que también disponen de un Kernel basado en Linux / Unix.
Tiene también como trabajo conceder acceso a todos los periféricos que tengamos conectados e interactuar con el software que los solicite, aunque no sean los usuales con los que trabajamos. Por ejemplo si ocasionalmente conectamos un móvil para usarlo como webcam con DroidCam, este Kernel se encarga de conceder los permisos necesarios al software para gestionar y poder tener la imagen y el audio para poder usarla en algún software de videoconferencia o reuniones si por ejemplo teletrabajamos desde casa o cualquier otro lugar.
El Kernel es el encargado de hacer funcionar básicamente todo, tiene que ser capaz de arrancar, por ejemplo, un PC desde que lo encendemos hasta que vemos visible el escritorio, todo esto comunicándose con los elementos hardware que dispone el PC y que también son necesarios para hacerlo funcionar, una vez que tengamos el escritorio deberá ser capaz de hacer funcionar los programas que nosotros queramos abrir y hacerlos funcionar en nuestro PC.
Fin del Artículo. ¡Cuéntanos algo en nuestro Foro!