Hurd: el kernel que no fue

Hurd es el Kernel original del sistema operativo GNU del proyecto del mismo nombre fundado por Richard Stallman. El desarrollo de Hurd comenzó en 1990, pero nunca se liberó su versión final, esperada para el 2002. Por eso, su lugar en el sistema operativo GNU lo ocupó el Kernel Linux.


Pero en realidad el desarrollo de Hurd nunca se detuvo, como se puede apreciar en el video producido con codeswarm que toma todas las contribuciones realizadas al repositorio de Hurd desde 1991 hasta el 2010 y las convierte en una animación 3D, donde cada punto representa un cambio a un archivo que se alinea alrededor del nombre del programador que lo realizó.

 

Quiero más detalles sobre Hurd

GNU Hurd es un conjunto de programas servidores que simulan un núcleo Unix que establece la base del sistema operativo GNU. El Proyecto GNU lo ha estado desarrollando desde 1990 como software libre, distribuyéndolo bajo la licencia GPL.

Hurd intenta superar los núcleos tipo Unix en cuanto a funcionalidad, seguridad y estabilidad, aun manteniéndose compatible con ellos. Esto se logra gracias a que Hurd implementa la especificación POSIX (entre otras), pero eliminando las restricciones arbitrarias a los usuarios.

A diferencia de la mayoría de núcleos tipo Unix, Hurd se erige encima de un micronúcleo (actualmente sólo está soportado Mach, aunque existió un proyecto ahora discontinuado para poder ejecutar Hurd en el micronúcleo de segunda generación L4), responsable de facilitarle los servicios de un núcleo más básicos: coordinar el acceso al hardware (a la CPU —mediante multiproceso—, a la memoria RAM —mediante gestión de memoria—, y a otros dispositivos de sonido, gráficos, almacenamiento, etc).

Hay otros sistemas tipo Unix que se ejecutan encima del micronúcleo Mach, como OSF/1, NEXTSTEP, Mac OS X, Lites y MkLinux. Todos ellos están implementados como un único servidor. Por lo tanto, sustituyen el núcleo monolítico de los sistemas Unix tradicionales con dos elementos, el micronúcleo y el servidor Unix.

En cambio, Hurd consiste en múltiples servidores ejecutándose simultáneamente. En lugar de un solo programa enorme que controle desde el reloj hasta el manejo de la red, en Hurd cada una de estas tareas es gestionada por un servidor independiente. Esto hace que (teóricamente, al menos) el desarrollo de Hurd sea mucho más fácil, ya que es menos probable que el hacer cambios en un servidor tenga efectos indeseados en otros servidores. De aquí se deriva el doble acrónimo recursivo: la palabra Hurd es el acrónimo de Hird of Unix-Replacing Daemons (en español: «Hird» de demonios que reemplazan a Unix). A su vez el término Hird significa Hurd of Interfaces Representing Depth («Hurd» de interfaces que representan profundidad). Tanto Hurd como Hird en inglés americano se pronuncian como herd (en español: manada), por lo que GNU Hurd se podría traducir como «manada de ñúes».

En el diseño original de Mach una de las principales metas fue este tipo de «conjunto de servidores», pero parece que Hurd es el primero en implementar este diseño sobre un micronúcleo Mach (aunque QNX es similar, pero basado en su propio micronúcleo). No está claro por qué no hubo ninguna implementación de múltiples servidores anterior, aunque parece que los grupos que trabajaban en Mach estaban demasiado ocupados en éste para dedicarse al sistema operativo en su totalidad. Hurd intenta, además, ser portable entre micronúcleos.

¿Cómo utilizar Hurd?

La distribución Hurd más funcional es la provista por Debian. Para más información, te sugiero que veas la página del proyecto Debian GNU/Hurd.

Además, hay otras formas de utilizar Hurd:

1.- Instalando una distribución GNU/Hurd. Además de Debian GNU/Hurd, que es la más estable y funcional, existen otras distribuciones GNU/Hurd: Arch, NixOS, etc.

2.- Corriéndolo bajo Xen. Xen es un monitor de máquina virtual de código abierto. La meta del diseño es poder ejecutar instancias de sistemas operativos con todas sus características, de forma completamente funcional en un equipo sencillo. Xen proporciona aislamiento seguro, control de recursos, garantías de calidad de servicio y migración de máquinas virtuales en caliente. Los sistemas operativos pueden ser modificados explícitamente para correr Xen (aunque manteniendo la compatibilidad con aplicaciones de usuario). Esto permite a Xen alcanzar virtualización de alto rendimiento sin un soporte especial de hardware.

3.- Ejecutándolo desde una imagen qemu o desde un LiveCD.

And these web pages are a living proof of the usability of the Hurd, as they are rendered on a Debian GNU/Hurd system.

Fuentes: HurdWikipedia


7 comentarios

  1. Esto de los núcleos va muy lento, los nix son una anticualla y aún son los mejores, a ver si Haiku y Hurd evolucionan, si lo hacen bien evolucionarían la velocidad de los sistemas, sobre todo los personales.

    MS lo tiene crudo precisamente porque los nix van veloces en computadoras modestas y los MS necesitan de la computadora más moderna cada dos años para que no vayan lentos.

  2.   Juan Aguilera dijo

    Simple y falso. Detrás de linux no sólo está Linus si no miles de personas y detrás de Hurd hay menos manos para picar código. Todo esto porque linux también les interesa a empresas que ponen programadores para desarrollar el kernel. Con hurd esto no pasa.

  3.   Cpauquez dijo

    Muy bueno el artículo… siempre tuve el capricho de testear la Debian GNU/Hurd.

    Saludos.

  4.   Miguel dijo

    que comentario mas simple

  5.   Juan Luis Cano dijo

    Muy interesante el artículo. Aunque sería muy interesante pararse a pensar cómo demonios es que Linux ha avanzado tan deprisa y Hurd aún da la sensación de no ser 100% funcional…

  6.   rockerlatino dijo

    facil linux anvanza por que detras de el ahi un genio (Linus tolvard) y hurd no logra nada por que detras de el esta un loquito envidioso(stallman)

  7.   Sebastián Magrí dijo

    Parte de los motivos por los que Linux ha avanzado más rapidamente que Hurd, y en general cualquier sistema de núcleo monolítico tiene más éxito que un micronúcleo, pueden encontrarse en el debate entre Linus y Tanenbaum (Creador de Minix).

    https://secure.wikimedia.org/wikipedia/en/wiki/Tanenbaum%E2%80%93Torvalds_debate

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *