Linus Torvalds, el dictador benévolo: Debate Tanenbaum – Torvalds

Hoy vamos a dar a conocer el debate que tuvieron Andrew S. Tanenbaum, creador de Minix, y Linus Torvaldls, creador de Linux, aún que varios desarrolladores del Kernel, como Peter Mc Donald o David S. Miller también se unieron a la discusión. Recordemos que el Kernel de Linux esta inspirado en Minix.

El debate se produjo en un grupo de discusión de Usenet: comp.os.Minix. En él, Tanenbaum explica que los sistemas operativos de tipo micronúcleo (como Minix) son mejores que los de tipo monolíticos (como Linux). Pero que son en realidad estos conceptos?

La diferencia principal entre los sistemas operativos micronúcleo  y monoliticos, es que los primeros implementan las funcionalidades del núcleo con llamadas de sistema que se ejecutan en como procesos servidores en espacio de usuario. Por lo tanto, las distintas funcionalidades son separadas y son estos servidores los que las proveen cuando son pedidas. En cambio, un núcleo monolítico implementa todas estas funcionalidades él sólo, por lo que su complejidad se ve incrementada.

Volviendo al debate, Tanenbaum afirmaba que los sistemas operativos monolíticos eran un paso atrás en la computación; aumentaban la complejidad y disminuían su portabilidad, y que Linux estaba demasiado orientado a la arquitectura x86. Linux reconoció que la arquitectura micronúcleo era teóricamente superior. No obstante, argumentó que Minix tenía errores básicos para un sistema operativo y que, debido a la interfaz de aplicaciones de Linux, su sistema operativo era más portable que Minix.

La respuesta de Tanenbaum fue que, debido a su carácter educativo, su sistema contaba con las funcionalidades de los ordenadores que en ese momento podían ser adquiridos por estudiantes. Y que la poca portabilidad de Linux sería un problema en el futuro, independientemente de que Minix no fuera muy portable. La discusión no llegó más allá, ya que Linus intentó zanjarla; hemos de recordar que en ese momento, era algo que él desarrollaba en su tiempo libre, y que estaba enfocada a propósito en esta arquitectura.

Al final de todo, el tiempo parece haber dado la razón a Linus, ya que x86 sigue siendo, con una amplia mayoría, la arquitectura más usada en ordenadores personales. Además, en la actualidad Linux ha sido portado a muchas otras arquitecturas como MIPS, ARM, SPARC o PowerPC.

Pero, enfocando el problema desde otro punto de vista, ¿Es un núcleo monolítico lo más adecuado para un Sistema Operativo? En la actualidad, Linux se compone de más de 15 millones de líneas de código. El Kernel se ha vuelto una pieza de software extremadamente compleja, y que además seguirá creciendo para añadir nuevas características y mayor portabilidad con nuevos dispositivos. Por ello, queremos lanzar una pregunta desde Libre Soft World ¿Crees que en el futuro la viabilidad de Linux se verá comprometida por su diseño monolítico?

Un saludo Linuxeros!

Fuentes: