Libertonia
Portada · Todo · Software Libre · Desarrolladores · Comunidad · Internet · Tecnología · Meta · Diarios
Ver: Modo: Orden:
Usando software libre en MacOs X | 17 comentarios (16 temáticos, 1 editoriales, 0 ocultos)
microkernel vs kernel monolítico (4.00 / 3) (#5)
por atopos a las Wed Nov 12th, 2003 at 06:33:46 PM CET
(Información Usuario) http://los-pajaros-de-hogano.blogspot.com

También yo tengo un portátil de Apple, concretamente un PowerBook G4, con una doble partición, una para Mac y otra para Linux (Debian testing).

La instalación de Debian sobre este ordenador no fue cosa fácil. No lo era al menos hace más de un año, que es cuando lo compré.

La inestimable información disponible en la lista de Debian sobre PowerPC, particularmente activa y seria, fue suficiente, no obstante, para conseguir que todo funcionara en menos de una semana. Creo que ahora podría conseguirse en una tarde.

¿Por qué me mantengo en Linux, a pesar de conocer Fink? Desde luego hay varias razones, no sólo estrictamente técnicas. Pero con relación a estas últimas, me gustaría proponer la siguiente reflexión.

Aunque mis conocimientos sobre sistemas operativos son muy escasos, hasta donde yo sé, Darwin está basado por una parte en BSD 4.4 y, por otra, ---y esto es lo que me interesa destacar--- en Mach 3.0. Estamos, en consecuencia, ante un microkernel.

La filosofía del microkernel me parece estupenda. Y, no en vano, movido por este interés, instalé hace un tiempo GNU/Hurd en mi PC.

Ahora bien, mi experiencia como mero usuario ---que no es prueba de nada--- tanto con Hurd como con Darwin sobre MacOS X, me ha hecho decantarme por Linux, sensiblemente más rápido. Las razones profundas de por qué esta diferencia de rendimiento las desconozco. Quizá alguien con más conocimiento nos las pueda explicar. Pero hasta que estos problemas que parecen inherentes a la actual etapa de desarrollo de microkernels sobre Mach no se resuelvan creo que, desde el punto de vista práctico, hay todavía razones para preferir Linux.

Téngase en cuenta que estas consideraciones son estrictamente personales. Espero que sean refutadas o corroboradas por los expertos en kernels de Libertonia. Puede ser un tema curioso de debate.



Intentando aclarar y/o confindir al personal (5.00 / 3) (#7)
por Ed hunter (eduardo.mestreENhispalinux.es) a las Thu Nov 13th, 2003 at 12:30:50 AM CET
(Información Usuario) http://speedball.servemp3.com

Darwin está basado por una parte en BSD 4.4 y, por otra, ---y esto es lo que me interesa destacar--- en Mach 3.0. Estamos, en consecuencia, ante un microkernel.


Si y no. Si que es cierto que Mach es un microkernel, pero el caso es que MacOS X no lo es a pesar de usar Mach. De hecho existe un kernel Linux que usa Mach, mklinux, desarrollado por Apple para tener Linux en primitivos Macintosh.

El caso es que tanto en mklinux como en MacOS/X el kernel Mach esta como abstracción de la máquina para el kernel auténtico. Es casi como la máquina virtual Java. Tenemos el Mach que esta portado a todas las arquitecturas que deba soportar, y encima el kernel FreeBSD en MacOS o Linux en el mklinux. Las aplicaciones lo que ven en un caso u otro es FreeBSD o Linux, y no pueden usar ninguno de los recursos que ofrece Mach. De hecho Windows NT/2K/XP hace exáctamente lo mismo (pero usando WinKernel). Básicamente todo el kernel es un único proceso Mach.

Lo que si podría hacerse sería poner varios subkernel encima del mismo Mach de tal forma que se podría tener a la vez MacOS, mklinux y un supuesto Windows for PowerPC de forma concurrente y que se comunicasen entre ellos usando los mecanismos ofrecidos por Mach (que yo sepa no esta implementado, pero técnicamente puede hacerse)

Lo que ofrece Hurd es otra cosa totalmente diferente: ser un kernel totalmente microkernel. Todos los procesos son procesos Mach (o el Microkernel que haya debajo), la capa Posix es una traducción a llamadas Mach. Los daemons son hilos Mach, igual que los drivers (que funcionan en espacio de usuario, pueden ser programados en lenguajes de alto nivel y hacer llamadas a cualquier librería del sistema, por ejemplo glibc).

Speedball la banda de heavy más chunga
Ven al Helvete Metal Bar
[ Padre ]


...y el rendimiento? (2.00 / 1) (#8)
por atopos a las Thu Nov 13th, 2003 at 01:10:22 AM CET
(Información Usuario) http://los-pajaros-de-hogano.blogspot.com

Y, aunque supongo que es una pregunta tonta, ¿por qué esa diferencia en el rendimiento que yo noto entre Linux y Hurd (o Darwin)?

[ Padre ]


En teoría el paso de mensajes (4.00 / 4) (#10)
por Ed hunter (eduardo.mestreENhispalinux.es) a las Thu Nov 13th, 2003 at 10:28:54 AM CET
(Información Usuario) http://speedball.servemp3.com

El kernel Mach se basa en una arquitectura de comunicación mediante mensajes entre capas. De esta forma cada capa tiene una interficie marcada con la superior y esta todo encapsulado (más seguridad, más estabilidad), a cambio de perdida de rendimiento respecto un kernel monolítico, dónde todo es un machambrado que funciona a un mismo nivel (notese las cursivas, se que hay mucho que decir al respecto).

Además en el caso de Darwin, se trata de un kernel monolítico que se ejecuta encima de un Mach, con lo que hay una capa más de código. En ese caso es como comparar mklinux con Linux estándar en M68K.

En el caso de Hurd además se añade el hecho de estar en una etapa de desarrollo mucho menos madura, y por tanto menos optimizada. Por otro lado, según la gente de Hurd, GNU/Hurd podría llegar a ser más rápido que GNU/Linux en los servicios, ya que estos, aunque podrían implementarse como Daemons tradicionales (y de hecho actualmente mayoritariamente lo son), la idea es que se implementen como servicios de kernel. Es decir, aprovechando que la arquitectura permite que los drivers esten en espacio de usuario y usen librerías dinámicas externas, usar esa misma arquitectura para los daemons... por ejemplo, tendríamos un driver inetd en lugar de un daemon inetd.

Speedball la banda de heavy más chunga
Ven al Helvete Metal Bar
[ Padre ]


 
Y también cuenta el entorno gráfico (2.00 / 1) (#11)
por presi a las Sat Nov 15th, 2003 at 04:52:43 PM CET
(Información Usuario) http://presi.org

Otro factor muy importante a la hora de determinar la sensación de velocidad es el rendimiento que proporciona el entorno de ventanas, en concreto el sistema Aqua/Quarz de MacOS X, que sin duda con todas sus características avanzadas cargan más la máquina que sistemas más ligeros como XFree86 (en modo nativo) o la interfaz de MS-Windows.

Y digo antes XFree86 en modo nativo porque realmente las X ejecutadas en MacOS X no acceden directamente al hardware de video, sino que se ejecutan encima del entorno gráfico Aqua/Quarz, es una capa más que hace que las X vayan sensiblemente más lentas en MacOS X que en Linux (yo también tengo un Mac con sistema dual ;))

[ Padre ]


 
... pero menos "planificable" (2.00 / 1) (#14)
por man ls a las Sun Nov 16th, 2003 at 09:21:14 PM CET
(Información Usuario)

Tengo que decir, en favor de Mac OS X (y supongo que de Mach y FreeBSD) que la multitarea es notablemente robusta. Puedes estar grabando un cedé, escuchando música y navegando por internet sin el más mínimo problema. Cuando se agobia un poco, te sale la ruedecita multicolor; pero sigue grabando sin problemas.

En mi limitadísima experiencia, con Linux es mejor dejar al ordenador a su bola, porque puedes fastidiar un cedé si te pones a abrir ventanas del navegador, por ejemplo. No sé si tendrá que ver la pre-emptibilidad del kernel, o la planificación de I/O o qué, pero parece que la multitarea con abundante entrada/salida no va tan fino.

Ya véis que leer el documento sobre el kernel 2.6 me ha creado una empanada mental considerable :) Estaría bien que alguien con más conocimientos entrara al trapo.

[ Padre ]


No estoy de acuerdo (2.00 / 1) (#15)
por presi a las Mon Nov 17th, 2003 at 07:07:22 AM CET
(Información Usuario) http://presi.org

Tú mismo lo dices, en tu limitadísima experiencia.

Porque en la mía con Linux, ya en los tiempos de mi antiguo Pentium 200 MMX, solía grabar CDs usando al mismo tiempo el ordenador para otras cosas sin ningún problema (y sin ruedecita multicolor ;)).

[ Padre ]


No quería ser un troll (2.00 / 1) (#16)
por man ls a las Mon Nov 17th, 2003 at 04:17:08 PM CET
(Información Usuario)

así que ignorad lo de que en Linux no es async que cualo. En mi Mandrake la multitarea no va muy bien, pero seguramente por mala configuración. Quedaos, por babor, con lo de que en el Mac OS X está muy bien logrado, que ahí sí sé de lo que hablo.

[ Padre ]


 
200MMX? (none / 0) (#17)
por Envite a las Wed Nov 26th, 2003 at 11:44:15 AM CET
(Información Usuario)

a mi no me causaba problemas en mi 166 MMX, salvo en mi epoca de Gnome sobre Enlightenment... q tiempos
No estoy de acuerdo con lo que dices, pero defenderé con mi vida tu derecho a decirlo.
Voltaire

[ Padre ]


 

Usando software libre en MacOs X | 17 comentarios (16 temáticos, 1 editoriales, 0 ocultos)
Ver: Modo: Orden:
Menu
· crear cuenta
· FAQ
· búsqueda
· Fuentes de Noticias

Login
Nueva cuenta
Usuario:
Contraseña:

ecol Logo Powered by Scoop
Todas las Marcas Registradas y copyrights de esta página son propiedad de sus respectivos dueños.
Los comentarios son propiedad del que los escribe.
Los iconos de las noticias y el logotipo son propiedad de Javier Malonda.
El Resto © 2002 Escomposlinux.org y aledaños.

Puedes sindicar los contenidos de libertonia en formato RSS 1.0 y RDF 0.9. También se puede sindicar la cola de envíos pendientes de moderación.

El proyecto escomposlinux.org está dedicado a la memoria de tas

crear cuenta | faq | búsqueda