Definición de Kernel
Definición de Kernel
Definición de Kernel
El término inglés kernel, que puede traducirse como “núcleo”, no forma parte del diccionario de la Real
Academia Española (RAE). Su uso en nuestra lengua, sin embargo, es bastante frecuente, sobre todo en
el ámbito de la informática.
Kernel
Se denomina kernel al software que compone la parte esencial de un sistema operativo. A través del
kernel, los diversos programas de una computadora (ordenador) pueden acceder al hardware, por
ejemplo. El kernel también se encarga de gestionar los recursos mediante servicios de llamada al
sistema.
Una de las funciones del kernel, en este marco, es definir qué software puede emplear un dispositivo de
hardware y por cuánto tiempo. Por eso es muy importante en la administración de la memoria RAM.
Lo que hace el kernel, en definitiva, es comunicar al software con el hardware. Para esto se encarga de
gestionar los dispositivos físicos (el procesador, los periféricos, etc.) y los diversos programas
informáticos, ordenando cómo éstos acceden a los recursos.
Dado que existe un gran número de programas y cada uno de ellos puede acceder al hardware de forma
limitada, el kernel tiene la función de administrar esta interacción, decidiendo qué dispositivo puede usar
cada programa y por cuánto tiempo. Esto se conoce con el nombre de multiprogramación, una técnica
mediante la cual dos o más procesos pueden ser alojados en la memoria principal para ser ejecutados de
forma concurrente por el procesador principal.
El acceso directo al hardware puede ser muy complejo. Por esta razón, el kernel suele hacer esto por
medio de lo que se conoce como capa de abstracción de hardware, un componente del sistema operativo
que sirve como interfaz entre el programa y los dispositivos. Esta capa de abstracción nos provee una
plataforma consistente de hardware para que ejecutemos el software sobre ella.
Gracias al uso de la capa de abstracción de hardware es posible ocultar la complejidad antes mencionada
y facilitarle al desarrollador una interfaz clara y uniforme para que haga uso de los programas y
dispositivos.
Es importante señalar que ciertas arquitecturas no poseen diferentes modos de ejecución, y esto acarrea
que sus sistemas operativos no tengan un kernel propiamente dicho. Un ejemplo son los llamados
sistemas empotrados.
Es posible diferenciar entre cuatro clases de kernel: los núcleos monolíticos, los núcleos híbridos, los
micronúcleos y los exonúcleos. Cada uno se encarga de diferentes procesos de acuerdo a sus
características.