You are on page 1of 24

SISTEMA OPERATIVO

EL KERNEL DEL SISTEMA OPERATIVO

Qu es el Kernel?
El ncleo (tambin conocido en espaol con el anglicismo kernel, de races germnicas como kern) es la parte fundamental de un sistema operativo. Es el software responsable de facilitar a los distintos programas acceso seguro al hardware de la computadora o en forma ms bsica, es el encargado de gestionar recursos, a travs de servicios de llamada al sistema.

Como hay muchos programas y el acceso al hardware es limitado, el ncleo tambin se encarga de decidir qu programa podr hacer uso de un dispositivo de hardware y durante cunto tiempo, lo que se conoce como multiplexado.

Acceder al hardware directamente puede ser realmente complejo, por lo que los ncleos suelen implementar una serie de abstracciones del hardware. Esto permite esconder la complejidad, y proporciona una interfaz limpia y uniforme al hardware subyacente, lo que facilita su uso para el programador.

Las funciones ms importantes del mismo, aunque no las nicas, son:


Administracin de la memoria para todos los programas y procesos en ejecucin. Administracin del tiempo de procesador que los programas y procesos en ejecucin utilizan. Es el encargado de que podamos acceder a los perifricos/elementos de nuestro ordenador de una manera cmoda.

Tipos de Kernel
No necesariamente se necesita un ncleo para usar una computadora. Los programas pueden cargarse y ejecutarse directamente en una computadora vaca, siempre que sus autores quieran desarrollarlos sin usar ninguna abstraccin del hardware ni ninguna ayuda del sistema operativo

sta era la forma normal de usar muchas de las primeras computadoras: para usar distintos programas se tena que reiniciar y reconfigurar la computadora cada vez. Con el tiempo, se empez a dejar en memoria (an entre distintas ejecuciones) pequeos programas auxiliares, como el cargador y el depurador, o se cargaban desde memoria de solo lectura.

A medida que se fueron desarrollando, se convirtieron en los fundamentos de lo que llegaran a ser los primeros ncleos de sistema operativo.

Hay cuatro grandes tipos de ncleos:


Los ncleos monolticos: facilitan abstracciones del hardware subyacente realmente potentes y variadas. Los microncleos (en ingls microkernel) proporcionan un pequeo conjunto de abstracciones simples del hardware, y usan las aplicaciones llamadas servidores para ofrecer mayor funcionalidad.

Los hbridos (microncleos modificados) son muy parecidos a los microncleos puros, excepto porque incluyen cdigo adicional en el espacio de ncleo para que se ejecute ms rpidamente. Los exoncleos no facilitan ninguna abstraccin, pero permiten el uso de bibliotecas que proporcionan mayor funcionalidad gracias al acceso directo o casi directo al hardware.

Microncleos (microkrenel)
El enfoque microncleo consiste en definir una abstraccin muy simple sobre el hardware, con un conjunto de primitivas o llamadas al sistema que implementan servicios del sistema operativo mnimos, como la gestion de hilos, el espacio de direccionamiento y la comunicacin entre procesos.

El objetivo principal es la separacin de la implementacin de los servicios bsicos y de la poltica de funcionamiento del sistema. Por ejemplo, el proceso de bloqueo de E/S se puede implementar con un servidor en espacio de usuario ejecutndose encima del microncleo. Estos servidores de usuario, usados para gestionar las partes de alto nivel del sistema, son muy modulares y simplifican la estructura y diseo del ncleo. Si falla uno de estos servidores, no se colgar el sistema entero, y se podr reiniciar este mdulo independientemente del resto.

Ncleos hbridos (microncleos modificados)


Los ncleos hbridos fundamentalmente son microncleos que tienen algo de cdigo no esencial en espacio de ncleo para que ste se ejecute ms rpido de lo que lo hara si estuviera en espacio de usuario. ste fue un compromiso que muchos desarrolladores de los primeros sistemas operativos con arquitectura basada en microncleo adoptaron antes que se demostrara que los microncleos pueden tener muy buen rendimiento.

La mayora de sistemas operativos modernos pertenecen a esta categora, siendo el ms popular Microsoft Windows. XNU, el ncleo de Mac OS X, tambin es un microncleo modificado, debido a la inclusin de cdigo del ncleo de FreeBSD en el ncleo basado en Mach. DragonFly BSD es el primer sistema BSD que adopta una arquitectura de ncleo hbrido sin basarse en Mach.

Algunos ejemplos de ncleos hbridos:


Microsoft Windows NT, usado en todos los sistemas que usan el cdigo base de Windows NT XNU (usado en Mac OS X) DragonFly BSD ReactOS

Exoncleos
Los exoncleos, tambin conocidos como sistemas operativos verticalmente estructurados, representan una aproximacin radicalmente nueva al diseo de sistemas operativos. La idea subyacente es permitir que el desarrollador tome todas las decisiones relativas al rendimiento del hardware. Los exoncleos son extremadamente pequeos, ya que limitan expresamente su funcionalidad a la proteccin y el multiplexado de los recursos. Se llaman as porque toda la funcionalidad deja de estar residente en memoria y pasa a estar fuera, en libreras dinamicas.

Los diseos de ncleos clsicos (tanto el monoltico como el microncleo) abstraen el hardware, escondiendo los recursos bajo una capa de abstraccin del hardware, o detrs de los controladores de dispositivo. En los sistemas clsicos, si se asigna memoria fsica, nadie puede estar seguro de cul es su localizacin real, por ejemplo.

La finalidad de un exoncleo es permitir a una aplicacin que solicite una regin especfica de la memoria, un bloque de disco concreto, etc., y simplemente asegurarse que los recursos pedidos estn disponibles, y que el programa tiene derecho a acceder a ellos.

Debido a que el exoncleo slo proporciona una interfaz al hardware de muy bajo nivel, careciendo de todas las funcionalidades de alto nivel de otros sistemas operativos, ste es complementado por una biblioteca de sistema operativo. Esta biblioteca se comunica con el exoncleo subyacente, y facilita a los programadores de aplicaciones las funcionalidades que son comunes en otros sistemas operativos.

Algunas de las implicaciones tericas de un sistema exoncleo son que es posible tener distintos tipos de sistemas operativos (p.e. Windows, Unix) ejecutndose en un solo exoncleo, y que los desarrolladores pueden elegir prescindir de o incrementar funcionalidades por motivos de rendimiento.

El Kernel de Windows

El Kernel de Linux

El Kernel de unix

You might also like