Sei sulla pagina 1di 4

GNU Hurd es un conjunto de programas servidores que simulan un sistema operativo

Unix, que establece la base de la distribucin GNU. El Proyecto GNU lo ha estado


desarrollando desde 1990 como software libre, distribuyndolo bajo la licencia GPL
.
Hurd intenta superar a los sistema operativos tipo Unix en cuanto a funcionalida
d, seguridad y estabilidad, an mantenindose compatible con ellos. Esto se logra gr
acias a que Hurd implementa la especificacin POSIX (entre otras), pero eliminando
las restricciones arbitrarias a los usuarios.
Aunque el Proyecto GNU se refiere a Hurd como ncleo, en sentido estricto esto no
es correcto, dado que parte importante de Hurd reside en espacio de usuario, int
eractuando con un microncleo (GNU Mach). De hecho, Hurd es un sistema operativo,
como el ncleo Linux (como el mismo indica, el Proyecto GNU se refiere a GNU y GNU
/Linux usando el trmino sistema operativo como equivalente de distribucin).
ndice [ocultar]
1 Historia del desarrollo
2 Origen del nombre
3 Arquitectura
3.1 Extensiones de Unix
3.2 Arquitectura de los servidores
4 Arranque
5 Distribuciones que usan Hurd
6 Hurd NG
7 Vase tambin
8 Referencias
9 Enlaces externos
Historia del desarrollo[editar]
El desarrollo de Hurd empez en el ao 1990. Aunque Richard Stallman, fundador del p
royecto GNU, haba anunciado que esperaba el lanzamiento oficial del sistema opera
tivo GNU (tambin conocido como GNU/Hurd) antes de finales de 2002, esto no fue co
nseguido, en parte porque se comenz a utilizar el ncleo Linux.

Origen del nombre[editar]


La palabra Hurd es un acrnimo recursivo. Hurd es el acrnimo de Hird of Unix-Replaci
ng Daemons (en espaol: Hird de demonios que reemplazan a Unix). A su vez el trmino Hir
d significa Hurd of Interfaces Representing Depth (Hurd de interfaces que representan
profundidad). Tanto Hurd como Hird en ingls americano se pronuncian como /h??rd/ herd
(en espaol: manada), por lo que GNU Hurd se podra traducir como manada de es, referent
e a su arquitectura de un conjunto de servidores corriendo.
Arquitectura[editar]
A diferencia de la mayora de ncleos tipo Unix, Hurd se erige encima de un microncle
o (actualmente slo est soportado Mach, aunque existi un proyecto ahora discontinuad
o para poder ejecutar Hurd en el microncleo de segunda generacin L4), responsable
de facilitarle los servicios de un ncleo ms bsicos: coordinar el acceso al hardware
(a la CPU mediante multiproceso , a la memoria RAM mediante gestin de memoria , y a ot
ros dispositivos de sonido, grficos, almacenamiento, etc).
Hay otros sistemas tipo Unix que se ejecutan encima del microncleo Mach, como OSF
/1, NEXTSTEP, Mac OS X, Lites y MkLinux. Todos ellos estn implementados como un ni
co servidor. Por lo tanto, sustituyen el ncleo monoltico de los sistemas Unix trad
icionales con dos elementos, el microncleo y el servidor Unix.
En cambio, Hurd consiste en mltiples servidores ejecutndose simultneamente. En luga
r de un solo programa enorme que controle desde el reloj hasta el manejo de la r
ed, en Hurd cada una de estas tareas es gestionada por un servidor independiente
. Esto hace que (tericamente, al menos) el desarrollo de Hurd sea mucho ms fcil, ya
que es menos probable que el hacer cambios en un servidor tenga efectos indesea

dos en otros servidores.


En el diseo original de Mach una de las principales metas fue este tipo de conjunt
o de servidores, pero parece que Hurd es el primero en implementar este diseo sobr
e un microncleo Mach (aunque QNX es similar, pero basado en su propio microncleo).
No est claro por qu no hubo ninguna implementacin de mltiples servidores anteriorme
nte, aunque parece que los grupos que trabajaban en Mach estaban demasiado ocupa
dos en ste para dedicarse al sistema operativo en su totalidad. Hurd intenta, ade
ms, ser portable entre microncleos.
Extensiones de Unix[editar]
En Hurd un buen nmero de conceptos tradicionales de Unix cambian o se potencian:
Bajo Unix, cada programa que se ejecuta tiene asociada una identidad de usuario,
que normalmente se corresponde con el usuario que inici el proceso. Esta identid
ad determina en gran medida qu acciones se le permite realizar al programa. Ningn
proceso externo puede cambiar la identidad de un programa que se est ejecutando.
Un proceso de Hurd, por otra parte, se ejecuta asociado a un conjunto de identid
ades de usuario, que puede contener mltiples identidades, una, o ninguna. Un proc
eso con los suficientes privilegios puede aadir o eliminar identidades de otro pr
oceso. Por ejemplo, existe un servidor de contraseas que otorga identidades en re
spuesta a una contrasea de usuario correcta.
En lo que respecta al sistema de archivos, se puede establecer un programa adecu
ado como traductor para un solo archivo o una jerarqua de directorios entera. Cad
a acceso al archivo traducido, o a los archivos en la jerarqua en el segundo caso
, son de hecho manejados por este programa. Por ejemplo, un traductor de archivo
s puede simplemente redirigir las operaciones de lectura y escritura hacia otro
archivo, no como un enlace simblico de Unix. El montaje de Unix, en Hurd se consi
gue configurando un traductor de sistema de archivos (usando el mandato settrans
). Los traductores tambin se pueden usar para proporcionar servicios al usuario.
Por ejemplo, el traductor ftpfs permite a un usuario encapsular un sitio FTP rem
oto en un directorio. Con esto, se pueden usar programas estndar como ls, cp o rm
para manipular archivos en el sitio remoto. Hay traductores incluso ms potentes,
como UnionFS, que permite a un usuario unificar varios directorios en uno solo,
de tal manera que al listar este directorio se muestra el contenido de todos lo
s directorios unificados (una caracterstica ausente en la mayora de Unices, aunque
presente en FreeBSD).
Quizs la caracterstica ms potente de Hurd es la posibilidad de que cualquier usuari
o ejecute sus propios servicios de sistema. Un usuario puede asignar cualquier t
raductor al sistema de archivos para su uso personal. Incluso puede reemplazar s
ervidores del sistema, como el servidor de autenticacin, con otros servidores de
su eleccin. Todo esto se puede hacer sin afectar a los otros usuarios, gracias a
que los mbitos de efecto estn bien definidos. De hecho, incluso es posible para un
usuario ejecutar Hurd dentro de s mismo, lo que se conoce como sub-Hurd.
Arquitectura de los servidores[editar]
Segn la documentacin de Debian son los siguientes:1
auth
nfs: Servidor nfs
null: Servidor null
pfinet: Servidor pfinet
pflocal: Servidor pflocal
proc: Servidor de procesos
storeio: Traductor de almacenamiento
symlink: Traductor de enlaces simblicos
term: Servidor de terminal
ufs: Servidor de ufs

usermux: Servidor usermux


Entre todos ellos implementan la interfaz de programacin de aplicaciones o API Si
ngle Unix Specification que es un superset de POSIX. En realidad, es la bibliote
ca libc la que implementa la API POSIX, igual que en Linux, y Hurd da una interf
az cercana pero de ms bajo nivel.
La forma en que los programas llaman a Hurd es a travs del sistema de archivos. F
uncionan como un sistema de archivos especial, parecido al /proc de linux. Por e
jemplo, si queremos hablar con el servidor auth miraremos en el directorio donde
est montado (/servers/auth) y haremos llamadas read/write sobre l.
De alguna forma, por tanto, el servidor del sistema de archivos es el que hace d
e interfaz del API y tambin sabe a cul de los otros servidores de bajo nivel manda
r las llamadas. A bajo nivel, cuando se hace un open de uno de estos archivos, e
l programa recibe los distintos dispositivos de hardware que vayan compilados de
ntro del microncleo. Por tanto Hurd no necesita llevar l mismo la gestin de bajo ni
vel de las interrupciones; en cambio s necesita traducir las seales hardware a seal
es del sistema operativo.
Arranque[editar]
Necesita un gestor de arranque que siga el protocolo multiboot como GRUB. La con
figuracin se realiza mediante los siguientes pasos (o se configura el gestor de a
rranque para que lo haga automticamente):
Se carga el microncleo en memoria.
Se carga un script para que el microncleo arranque el Hurd. Puede arrancarse manu
almente o como si fuera un mdulo de grub (comando module de GRUB). Hurd viene con
un script que se llama serverboot para arrancar el hurd completo.
Se le da el control al microncleo, que debe estar capacitado para ejecutar script
s.
Con esto, el microncleo cargar los servidores del hurd y les pasar el control.
Distribuciones que usan Hurd[editar]
Actualmente, hay al menos cinco distribuciones de GNU/Hurd en preparacin (Debian
GNU/Hurd, Gentoo, Arch Hurd, Bee y A.T.L.D. GNU/Hurd), aunque ninguna ha publica
do versiones oficiales.
Hurd NG[editar]
Se est intentando crear una nueva versin del Hurd llamada NgHurd, este proyecto co
menz con un intento de portar el microncleo L4 a Hurd lo cual lo hubiera dotado de
una mayor velocidad entre otras caractersticas. Dicho proyecto fue abandonado, p
or lo cual se estn discutiendo las caractersticas para esta nueva versin desde cero
, incluyendo el microncleo a utilizar.
Vase tambin[editar]
Arch Hurd
GNU Mach
L4
Debian GNU/Hurd
GNU/Hurd-based Live CD
Minix 3 - Un sistema operativo similar tambin basado en servidores.
Referencias[editar]
Volver arriba ? Debian GNU/Hurd (en ingls). Proyecto Debian.
Enlaces externos[editar]
Sitio web oficial de Hurd (en ingls).
Port GNU/Hurd de la distribucin Debian (ingls)
Sitio web oficial del microncleo L4 (ingls)
Port GNU/Hurd de la distribucin ArchLinux (ingls)
Hurd ya est aqu, pero no sorprende comparativa Linux versus Hurd
Lanzamiento de la primera versin oficial de Debian GNU/Hurd del 22 de mayo de 201

3
Lanzamiento de la primera versin oficial de Debian GNU/Hurd (ingls)

Potrebbero piacerti anche