miércoles, 21 de octubre de 2009

Kernel Monolítico

Primero comprendamos qué es el Kernel:


El Kernel o núcleo muchos lo definen como el corazón del sistema operativo, por la importancia que tiene, el Kernel es el encargado de que el software y el hardware de la computadora trabajen juntos, también es el encargado de la administración de recursos como memoria, tiempo de procesos, etc.

Ahora que sabemos que es el Kernel, se pueden definir dos tipos que son:


· Monolitico

Los núcleos monolíticos son aquellos que soportan todo el hardware, el sistema de red, el sistema de archivos compilado dentro de un solo archivo.

· Modular

Los núcleos modulares son aquellos en que los controladores (módulos) se encuentran compilados como objetos, los cuales el núcleo puede cargar o descargar según sea necesario.


En la siguiente imagen se puede apreciar la diferencia entre uno y otro.

Imagen 1



El primer cubo representa un Kernel Monolítico y el segundo un Kernel Modular.


En este post nos enfocaremos en el Kernel Monolítico.


Un Sistema Operativo con Kernel Monolítico no tiene una estructura clara y bien definida. Todos sus componentes se encuentran integrados en un único programa (el sistema operativo.) que ejecuta en un único espacio de direcciones. En este tipo de Sistemas, todas las funciones que ofrece el Sistema operativo se ejecutan en modo núcleo.


Funcionamiento:


La forma en la que trabaja un núcleo monolítico es cuando un proceso necesita un resultado de parte del kernel, le manda una señal, la cual es procesada por el núcleo y luego es retornada al proceso solicitante. Lo cual simplifica el trabajo entre procesos y el kernel.


¿Cuándo implementarlo?


Se recomiendo imprentarlo cuando lo que necesitamos es tener redimiendo y seguridad.

Este tipo de Kernel es implementado en sistemas Unix, Microsoft Windows 9x (95, 98, Me).


Ventajas:


· Rápido, Fiable, Robusto.

· Son más fáciles de diseñar correctamente, y por lo tanto pueden crecer más rápidamente que un sistema basado en micronúcleo.


Desventajas:


· Poco software

· Cada vez que se coloca un dispositivo nuevo en el computador o una nueva versión, se debe recompilar el kernel.


Soluciones Equivalentes:


El problema que plantea este tipo de sistemas radica en lo complicado que es modificar el sistema operativo para añadir nuevas funcionalidades y servicios. Como mencioné anteriormente instalar un alguna aplicación o el plug and play de algún dispositivo significa recompilar el Kernel. Para solucionar este problema es necesario dotar de cierta estructura al sistema operativo.

La alternativa es tener una estructura de micronúcleo donde las partes funcionales están divididas en unidades separadas con mecanismos de comunicación estrictos entre ellos.


Bibliografía y Referencias:



5 comentarios:

  1. Interesante información, sobre todo los conceptos generales muy bien detallados.

    ResponderEliminar
  2. Muy buena info me ayudó mucho en un debate en la clase de OS

    ResponderEliminar
  3. @Elena: Me alegro que te haya ayudado. Saludos.

    ResponderEliminar
  4. grcias alice estoy estudiando un grado superior de informática y el tema de los kernels estaba explicada da manera muy densa.. con esto tengo las ideas mas claras un saludo =)

    ResponderEliminar