[Prousuarios-softlibre] pro Users from scratch...quizas a
mediano plazo...
Gustavo Damian Martinez Pungin
gusdamian en ciudad.com.ar
Dom Mar 6 18:44:44 CET 2005
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
> <gusdamian en ciudad.com.ar> wrote:
> >
> > http://www.gnu.org/software/hurd/gnumach.es.html
>
Más información sobre la lista de distribución Prousuarios-softlibre