[Previo por Fecha] [Siguiente por Fecha] [Previo por Hilo] [Siguiente por Hilo]

[Hilos de Discusión] [Fecha] [Tema] [Autor]

Re: [Ayuda] HURD



Antonio Cardenas wrote:

> La programación orientada a objetos surgió como una
> necesidad al desarrollarse programas cada vez mas
> grandes, como fue el caso de la antigua programación
> tipo espagueti que fue sustituida por la programación
> estructurada por ofrecer está muchas mas ventajas. De
> ahí el surgimiento del lenguaje C, el cual con la
> aparición de la programación orientada a objetos tuvo
> que emigrar a lo que hoy se conoce como C++.

Solo que los compiladores de C++ que vienen dentro de GCC siguen teniendo
muchos pedos, sobre todo de compatibilidad de código objeto generado entre
diferentes versiones del compilador.
Por otro lado, GTK trabaja con orientación a objetos y está escrito en C.
Además, en cuanto a kerneles programados en C++ le veo más futuro al
Atheos.

> El tener un kernel construido con programación
> orientada a objetos lo hace mas fácil de recibir
> mantenimiento y de hacerle modificaciones.

Es muy fácil hacer una revoltura utilizando programación orientada a
objetos.
Para tener un buen kernel hace falta algo más que orientación a objetos:
Buena planeación.
Y no solo para un kernel, para cualquier proyecto.

> También
> esto conlleva a una mayor capacidad de multihilado lo
> cual permite la construcción de clusters mas
> eficientes.

¿Para qué necesitas multihilado dentro de un microkernel si se supone que
todas las operaciones unitarias del kernel son procesos normales corriendo
dentro del espacio de usuario?.

> También se tienen mas privilegios sin
> necesidad de ser root; es posible desarrollar y probar
> nuevos componentes del kernel sin necesidad de un
> reboot y sin interferir con otros usuarios.

Para que tu proceso tenga acceso al hardware necesita algún privilegio
especial aunque no se llame root.
Lo mismo con el manejador de memoria, los sistemas de archivos, el
manejador de procesos, etc....

>
> Este no es un proyecto nuevo, se inicio en 1983 (desde
> antes de Linux) y fue la primer idea de crear un
> sistema operativo completamente libre, lo que si es
> nuevo es que ya dejo de ser solo un proyecto, este
> kernel ya existe aunque aún está en pañales y le
> faltan años de desarrollo.

Si, pero tiene problemas de diseño que no le han permitido alcanzar la
calidad de producción.
Darwin también utiliza un microkernel, pero su diseño le ha permitido
evolucionar hasta la calidad de producción. Lo único malo es que según la
FSF es OpenSource, pero no libre.

>
> El kernel de Linux crece muy rápido, su tamaño en
> archivo tar.gz de la versión 1.0 apenas pasaba de 1
> MB,  la versión 1.2 ya era de 2.2 MB, la versión
> 2.0.29 ya fue de 5.8 MB, la versión 2.2.22 fue de 18.8
> MB y la versión 2.4.19 que es la última estable ya fue
> de 30.7 MB; actualmente se está trabajando en la
> 2.5.45 que lleva un tamaño de 36.4 MB pero ya
> descomprimido anda cerca de los 200 MB, trabajar con
> tanto código con solo programación estructurada se
> vuelve más y más tedioso a medida que el kernel crece,

Linux tiene una muy buena planeación y muy buena organización. En la
práctica resulta relaticamente fácil encontrar el código que buscas si
sigues las instrucciones...
Además está organizado en varios equipos, cada uno encargado de un
subproyecto que mide solo una pequeña fracción de esos 200 megas de tal
manera que cada subproyecto es completamente manejable.

> el que se pueda configurar el kernel de Linux por
> módulos alivia un poco el problema pero no lo
> soluciona. Esto es lo que hace atractivo al Kernel
> Hurd para el futuro. Será un kernel más poderoso y más
> fácil de depurar y actualizar.

El único problema que le veo al modelo monolítico de Linux es que si te
truena un módulo se puede llevar entre las patas al resto del kernel
(Kernel Oops o Kernel Panic), pero eso se ha solucionado separando la rama
estable de la rama de desarrollo.

> Es por lo anterior que el MIT se propuso hacer
> realidad el proyecto y los desarrolladores de Linux
> Debian lo están apoyando,

No tengo nada en contra, pero no le veo mucho futuro.
Pienso que para competir contra Linux y la familia BSD se necesita una
propuesta radicalmente distinta como por ejemplo Atheos.

> si ya se tienen drivers
> hechos para Linux, no hace falta reinventar el hilo
> negro,

Solo eso faltaba.

> solo hay que adaptarlos para Hurd en
> programación orientada a objetos.

Esa ha sido una sabia decisión por parte de los diseñadores del HURD, pero
también debemos tomar en cuenta que las tripas y las interfaces de los
drivers de linux se mueven muy rápido y se necesita un gran esfuerzo de
portabilidad para mantenerse al día.

> Cualquier modalidad de sexo torcido no tiene nada que
> ver aquí con Unix, el que hayas hecho ese comentario
> puede hacer hacer pensar a muchos en que existe un
> desequilibrio mental.

Ya ni me acuerdo por qué era el comentario, pero sigo opinando que la
orientación a objetos, la religión y la preferencia sexual juegan un papel
secundario en el éxito de un proyecto grande, llámese kernel, servidor
Apache o lo que sea. El factor decisivo en el exito de un proyecto abierto
es la buena planeación y muy pocos iluminados la tienen y muy pocos
proyectos son elegidos como favoritos bajo las reglas de la selección
natural.....

> Comprendo la pasión de muchos por Linux, yo también la
> tengo, pero no hay que estar cerrados en la idea de
> que no es superable.
>
> http://www.gnu.ai.mit.edu/software/hurd/hurd.html
>

Pero hay mejores competidores:
NetBSD
OpenBSD
FreeBSD
Darwin (que también tiene Debian GNU)
Atheos
Y mejores modelos de microkernel que si han sido exitosos:
QNX4
QNX Neutrino

--
Sandino Araico Sánchez
Yo empecé comiéndome las uñas.
-- La Venus de Milo



_______________________________________________
Ayuda mailing list
Ayuda en linux org mx
Para salir de la lista: http://mail.linux.org.mx/mailman/listinfo/ayuda/



[Hilos de Discusión] [Fecha] [Tema] [Autor]