GNU/Linux Kernel Híbrido

GNU/Linux, Kernel Híbrido

En una entrevista del 2004, el profesor Andrew S. Tanenbaum dijo: “I wasn’t all that impressed with the monolithic design of Linux 0.01. I think I have made that point a couple of times already”. Fuente original: http://www.cs.vu.nl/~ast/brown/rebuttal/

Pero a qué aspectos del sistema operativo se refiere El profesor Tanenbaum? El profesor Tanenbaum se refiere básicamente al kernel, y su diseño, cuando al inicio GNU/ Linux era totalmente monolítico, El profesor Tanenbaum prefiere un kernel con diseño de microkernel, como se puede ver en un debate 1 muy interesante y profesional, en una de las páginas del profesor Tanenbaum 2 describe los inicios del debate y piensa que Linux era obsoleto 3

La primera opción los sistemas operativos monolíticos son los que tienen todo su sistema operativo en un solo archivo ejecutable, que contiene los gestores o administradores típicos de un sistema operativo como el de procesos, de memoria, de archivos entre otros, su ventaja es su estabilidad ya que todo está sincronizado y comunicado en un solo archivo, el problema es que este archivo puede crecer demasiado 4 volviéndose difícil mantener hablando en términos de desarrollo y si se bloquea algo del núcleo se cae todo el sistema operativo, algunos de estos sistemas son UNIX, MS-DOS, VMS, MVS, OS/360 y MULTICS.

La segunda opción son los sistemas operativos microkernel que tienen una parte del sistema operativo en un núcleo pero muchas de las herramientas para su funcionamiento están distribuidas en servicios o procesos independientes y por fuera del núcleo, estas partes se comunican con el núcleo por medio de paso de mensajes, el núcleo realmente maneja ese paso de mensajes a sus partes, maneja las interrupciones, la gestión de procesos, la programación de estos procesos o servicios independientes es más complicada y difícil a nivel de desarrollo. Vemos que no es un solo archivo ejecutable lo que compone al sistema operativo diseñado como microkernel, sino que son varios archivos, que se convierten en procesos y hay que comunicarlos entre ellos a través del núcleo, algunos de estos sistemas son RC4000, Amoeba, Chorus, Mach y Windows

Actualmente Linux se considera con núcleo monolítico híbrido, entre monolítico y microkernel, ya que usa partes llamadas módulos de carga dinámica, que básicamente son programas que manejan cosas como el sistema de archivos o los controladores de dispositivos, y se cargan cuando se está ejecutando el sistema operativo según las necesidades o solicitudes, pero el núcleo conserva el control y manejo de interrupciones y procesos, lo que hace que tenga características de monolítico y rasgos de microkernel.

Desde el punto de vista del diseño del kernel, Linux empieza como monolítico ya que era difícil sacar un buen rendimiento a un microkernel, pero después se solucionaron los problemas de tamaño en el desarrollo incluyendo los módulos de carga dinámica, desde el punto de vista de desarrollo Linux empieza con Linus Benedict Torvalds cuando estudiaba en la Universidad de Helsinki, Linus creó la primer versión de Linux basado en Minix, un sistema operativo creado por el profesor Andrew S. Tanenbaum el cual tiene ideas de UNIX pero estaba enfocado a el aprendizaje de sistemas operativos, esa primer versión 0.0.1 del kernel de Linux aparece en octubre de 1991 y se publico con licencia GPL, para que otros programadores lo conocieran y realizaran aportes si decidían desarrollar más cosas sobre este código, de esa forma ella comunidad de desarrolladores de Linux creció y ahora contamos con un sistema operativo totalmente funcional.

Características de Minix, BSD, Linux y MacOS-X referentes al kernel.

Características   Minix 5 BSD6 Linux7 MacOS-X8
Kernel
monolítico al inicio
Si Si Si No
Kernel
monolítico última versión
No Si Si, híbrido Si, híbrido
Primera Versión 1987 1977 1991 1999
Ultima Versión 2010 1995 2011 2011
Valor Gratuito Gratuito Gratuito Con costo
Licencia BSD BSD GPL Propietaria

Comparaciones 9, vemos como algunos sistemas operativos empezaron como monolíticos y ahora son híbridos, o Minix que es ahora microkernel, vemos también como Linux y Mac OS-X son proyectos vigentes, y BSD ahora cuenta con
varios derivados vigentes, licencia BSD, tiene menos restricciones que en GPL 10 en algunos casos eso puede favorecer la aparición de software basado en Unix, pero sin respetar ninguna licencia por lo permisiva de la licencia BSD

Las posibles aplicaciones de estos sistemas operativos son variadas, Minix se usa para enseñar sistemas operativos, BSD y sus derivados se usan en Servidores, Linux se usa Hogar, ciencia, servidores, redes, negocios, empresas, Estaciones de trabajo , escritorio y dispositivos móviles, Mac OS-X se usa en Hogar, diseño, negocios, servidores y redes, Linux tiene una utilidad mayor ya que es usado hasta en sistemas híbridos lo que permite ser usado en prácticamente cualquier dispositivo electrónico como sensores, tarjetas inteligentes, teléfonos, maquinaria, robots, PDAs y muchos más. 11.

Referencias

Los comentarios están cerrados.