Tenés razón (perdón). Empecemos por el principio: lo que normalmente denominamos Linux es un Kernel (un núcleo de S.O.), se encarga de realizar muchas funciones entre ellas las de más bajo nivel para el funcionamiento del sistema operativo, es decir el manejo de las funciones de memoria y otras relacionadas con el hardware. Si no existiera tendrías que decirle a la computadora que es lo que querés que haga escribiendo directamente en lenguaje máquina ó binario (de hecho tendrías que explicarle dónde colocar cada 1 ó 0 en la memoria un poco complicado ¿no?), por eso para evitarte todo ese despiole el kernel se ocupa de eso y de otras cosas. Cuando GNU empezó con la idea de reemplazar el soft que existía por software libre que cumpliera la misma función, ese soft en aquel momento corría sobre los kernel UNIX que no eran libres. Fué entonces cuando comenzó con el proyecto HURD para reemplazar las funciones de esos núleos de UNIX propietarios que usaban por uno libre. Como el desarrollo de HURD se demoraba demasiado, cuando apareció Linux, GNU lo adoptó como Kernel para continuar desarrollando sus aplicaciones con él (de todas formas continuó con el HURD). En la actualidad el proyecto HURD utiliza el núcleo MACH. Es medio complicado de explicar en lenguaje simple pero voy a tratar de hecerlo más ó menos entendible cuales son las diferencias entre núcleos del tipo Linux/UNIX tradicionales y de MACH: Los kernel tradicionales de UNIX ó tipo UNIX tienen una estructura nuclear (como el núcleo en un átomo) y muchísimas funciones están manejadas en forma directa por éste, los núcleos como MACH en cambio, utilizan una estructura del tipo microkernel, en donde muchas de la funciones que realizan normalmente los kernel de tipo nuclear son delegadas en otros procesos y el kernel se encarga sólo de lo estrictamente necesario y de más bajo nivel (relacionado con el hardware y los procesos). En el matrimonio HURD-MACH, MACH se encarga de cosas como el manejo de interrupciones del hardware, memoria, comunicación interprocesos, etc y HURD se encarga de otras funciones necesarias para que el sistema operativo sea precisamente operativo (valga la redundancia). Espero no sea demasiado pesado :) y medianamente entendible. Saludos. Gustavo Damian Martinez Pungin El dom, 06-03-2005 a las 16:19 -0300, Tae Sandoval Murgan escribió:
Gracias. Lo estuve leyendo, así como buscando más información, y me encontré con:
«GNU Hurd es un reemplazo del kernel Unix por parte del proyecto GNU. El Hurd está constituido por una colección de servers que corren en un micro-kernel Mach para implementar sistemas de archivos, protocolos de red, control de acceso a archivos, y otras características que implementa el kernel Unix o similar (como Linux).»
(http://microlug.linux.net.uy/gnu/hurd.htm)
De ambos documentos entiendo que Hurd y Mach trabajarán, por decirlo de alguna forma, al mismo tiempo (poco y nada sé sobre el funcionamiento de un núcleo). O que Hurd se compone de Mach, pero no que Mach vaya a reemplazar a Hurd, o que ya lo haya hecho.
No sé si interpreté mal el correo anterior, pero me estoy confundiendo y se agradecería una explicación «for dummies».
On Sun, 06 Mar 2005 14:48:27 +0000, Gustavo Damian Martinez Pungin <[email protected]> wrote: