Significado del núcleo

      Comentarios desactivados en Significado del núcleo

Kernel es una palabra inglesa que se utiliza en informática para designar el núcleo del sistema operativo, que es la parte principal de un ordenador.

El simple hecho de cambiar la versión del Kernel a una versión más antigua o más actual puede ser suficiente para resolver los problemas de hardware y compatibilidad en la computadora.

Con el control total de todo lo relacionado con el sistema, el Kernel es uno de los primeros programas que se cargan en el arranque. Tan pronto como comienza a funcionar, el Kernel inicia un proceso que detecta todo el hardware necesario para que la computadora funcione correctamente.

Además, un Kernel opera las solicitudes de software de entrada y salida, y gestiona, por ejemplo, la memoria y los dispositivos periféricos utilizados.

Función del núcleo

El núcleo del sistema es responsable de conectar el software al hardware. De esta manera, establece una comunicación eficaz entre los recursos del sistema operativo y gestiona sus funciones.

A continuación se presentan las principales funciones de un sistema operativo, gestionado por el Kernel.

Gestión de procesos

En un sistema operativo, el proceso es un programa en ejecución. La gestión de procesos realizada por el núcleo decide qué procesos se ejecutarán.

Cada uno de los procesos en ejecución puede entrar y salir del procesador varias veces en el mismo segundo, dando lugar a otro proceso. El núcleo es responsable de decidir qué procesos se asignarán al procesador.

Dado que el cambio entre los procesos se produce muy rápidamente, un programa puede seguir ejecutándose aunque no esté en el procesador.

Modos de acceso

La ejecución de un proceso puede llevarse a cabo de dos maneras diferentes.

  • Modo de usuario: consiste en varios subsistemas. Uno de ellos, que incluye el subsistema ambiental, ejecuta aplicaciones diseñadas para varios tipos de sistemas operativos. El modo de usuario se considera un modo no privilegiado. Todo el software en este modo debe hacer peticiones al Kernel para ejecutar instrucciones privilegiadas, como la creación de procesos.
  • Modo kernel: se considera privilegiado porque tiene acceso a todo el ordenador. Cuando la CPU está en modo Kernel, esto indica que está ejecutando un software fiable y es capaz de ejecutar cualquier instrucción.

Ver también el significado de CPU.

Gestión de la memoria

En el administrador de tareas, una porción de la RAM (memoria total) se asigna al Kernel.

Durante la gestión del proceso, el Kernel envía los programas a un espacio de direcciones. La porción de memoria total asignada al Kernel asegura que siempre haya memoria disponible para que los procesos principales sean enviados a ese espacio.

El núcleo también tiene la función de definir la porción de memoria a la que cada proceso puede acceder durante su funcionamiento.

Gestión de dispositivos

El núcleo controla los periféricos conectados a la computadora.

Cada vez que un usuario conecta un dispositivo (por ejemplo, un pen drive, una impresora, unos auriculares, un teclado, un ratón, etc.), el núcleo gestiona la memoria de ese dispositivo y su comunicación con los programas y el hardware de la computadora.

Cada dispositivo tiene una unidad que está diseñada para funcionar en un sistema operativo particular. Por lo tanto, un controlador diseñado para Windows no funciona, por ejemplo, en un MAC.

El controlador de cada dispositivo tiene la función de realizar una especie de traducción de los comandos ejecutados entre un dispositivo electrónico determinado y el sistema operativo de la computadora.

Se accede a los servicios de un sistema operativo a través de una interfaz de usuario llamada “shell”, que en inglés significa “concha”. El nombre se debe al hecho de que la cáscara es la capa más exterior alrededor del núcleo.

Vea lo que significa la interfaz.

Llamadas de sistema

Las llamadas de sistema son funciones específicas que los programas informáticos utilizados en el modo de usuario tienen a su disposición. Se utilizan para invocar el núcleo del sistema operativo de una computadora para que realice una determinada acción.

Estas funciones suelen ser complejas y utilizan características a las que el usuario medio no tiene acceso.

A continuación se muestran algunos ejemplos de llamadas a sistemas Windows y su correspondiente corresponsal en el Kernel de Linux.

Descripción de Windows Linux

CloseHandle

cerrar

Cerrar archivo

CreateFile abrir Create DeleteFile desvincular archivo Delete ExitProcess salir Terminar un proceso y todos sus segmentos de tiempo GetLocalTime Recuperar la ubicación actual, fecha y hora

Más información sobre Windows.

Tipos de núcleo

En lo que respecta a su arquitectura, el núcleo de un sistema operativo puede ser monolítico, híbrido o ser un micronúcleo.

Monolítico

Los controladores de los dispositivos y las extensiones del núcleo se ejecutan en el espacio del núcleo, con acceso total al hardware.

Dado que todos los módulos funcionan en el mismo espacio de direcciones, si se produce un error en uno de estos espacios de direcciones, todo el sistema puede verse afectado.

Ejemplos de monolíticos: Linux, BSD, MS-DOS y Solaris.

Linux es uno de los núcleos monolíticos más conocidos. Como software libre y portátil que es, Linux tiene la ventaja de trabajar en docenas de plataformas, desde computadoras IBM a dispositivos móviles, teléfonos inteligentes o iPods.

Aprende más sobre el software y el hardware.

Micronúcleo o micronúcleo

El micronúcleo, como su nombre ya indica, es un núcleo muy pequeño y, por esta razón, realiza el menor número de procesos posibles en el espacio del núcleo. Algunos de estos procesos se ejecutan en el espacio de usuario.

Con el núcleo de tipo micronúcleo, si se produce un error, simplemente reinicie el servicio que presentó el problema. Esto evitará que todo el sistema sea derribado (como en el caso del núcleo monolítico).

Ejemplos de micronúcleos: AIX, BeOS, L4, Mach, Minix, MorphOS, QNX, RADIOS, VSTa y GNU Hurd.

Híbrido

Los sistemas híbridos se consideran sistemas que funcionan con un terreno intermedio en comparación con los sistemas monolíticos y de micronúcleos. El híbrido combina la estabilidad y la seguridad del micronúcleo con el rendimiento del monolítico.

El núcleo híbrido es similar a un micronúcleo, pero tiene un código (“no esencial”) en el espacio del núcleo para operaciones más rápidas.

Ejemplos de híbridos: AmigaOS, Android, Chrome, Macintosh, webOS, Windows, OSX y Xinu.

El núcleo de Android está construido en Linux. Sin embargo, no todo el mundo clasifica a Android como Linux porque lo consideran sólo basado en Linux, pero no en el propio Linux.

Más información sobre Android.