Historias
Slashboxes
Comentarios
 

Linus y el diseño de los sistemas operativos

editada por acs el 07 de Abril 2001, 10:15h   Printer-friendly   Email story
desde el dept. arquitecturas-y-realidad
Muchos de vosotros recordaréis la famosa batalla dialéctica entre el famoso profesor Tanenbaum y un aún desconocido Linus Torvalds sobre el diseño de sistemas operativos monolíticos y basados en microkernels. El nuevo MacOS X se basa en Mach, un sistema operativo con arquitectura de microkernel, y Linus hace unas críticas bastante negativas de él. Este mismo Mach se usa en el núcleo de la FSF, GNU/Hurd. La historia completa en ZDNet.

Este hilo ha sido archivado. No pueden publicarse nuevos comentarios.
Mostrar opciones Umbral:
Y recuerda: Los comentarios que siguen pertenecen a las personas que los han enviado. No somos responsables de los mismos.
  • por acs (45) el Sábado, 07 Abril de 2001, 12:31h (#23796)
    ( http://acsblog.es/ | Última bitácora: Lunes, 09 Mayo de 2005, 09:17h )
    Acabo de ver que el tema también ha salido en Slashdot.
    --

    --
    Parafraseando a Trosky "aunque a ti no te importe la ley, a la ley le importas tú" - Josemi

  • por Drizzt (39) el Sábado, 07 Abril de 2001, 13:20h (#23800)
    ( http://icewinddale.blogspot.com/ | Última bitácora: Jueves, 30 Enero de 2014, 23:34h )
    Si haces una búsuqeda por linux-kernel, te encontrarás que ls discusión aparece periódicamente cada año un par de veces XD
    --

    -- icewinddale.blogspot.com [blogspot.com]

  • por Zephryn Xirdal (2116) el Sábado, 07 Abril de 2001, 17:23h (#23808)
    ( http://barrapunto.com/ )
    Supongo que será como todo, que para unas cosas será mejor uno y para otras el otro.
  • Pues eso. En términos teóricos, la gente de Mach y derivados, y el señor Tanenbaum (qué voy a decir de él!) llevan la razón en cuanto los microkernels. Son más flexibles, y eso de poder implementar los distintos servidores en espacio de usuario reduce mucho las posibilidades de fallo del sistema. Si se cae un servidor en espacio de usuario, pues nada, se reinicia y ya está.
    En su contra tienen la velocidad... Eso de ir todo el rato con mensajes arriba y abajo siempre hará que las cosas vayan más lentas que en un kernel monolítico.
    --

    # apt-get laid
  • Microkernels

    (Puntos:5, Informativo)
    por jemarch (1074) el Sábado, 07 Abril de 2001, 18:51h (#23813)
    ( http://es.gnu.org/ )
    El tema de qué tipo de kernel es mas
    apropiado es muy interesante y amplio.

    ¿Qué es mejor? ¿Microkérnel o monolítico?
    Como todo, está lleno de matices.

    La existencia de la evolución de otras
    tecnologías frente a los kernels monolíticos
    tradicionales responde a ciertas deficiencias
    que presentan estos últimos:

    - La arquitectura interna de un kernel
    monolítico tiende de manera natural a cierto
    tipo de caos. Si bien teóricamente es
    posible implantar interfaces bien definidas,
    la recurrencia al uso de objetos globales
    y "callbacks" hacen que se gaste mucho esfuerzo
    únicamente en mantener una coherencia en
    la pieza software completa. El resultado
    es que se crean dependencias cruzadas entre
    diferentes componentes, que sin embargo son
    lógicamente distintos.

    Estos problemas se manifiestan a la hora de
    hacer releases o versiones. Los mantenedores
    de partes de un kernel monolítico al uso
    tradicional deben estar constantemente al
    acecho de cualquier cambio que pueda afectarles.
    Esto pasa bastante a menudo. En resumen:
    cualquier cambio en un kernel monolítico debe
    ser largamente ponderado y estudiado, puesto
    que aunque se efectue en una función "interna"
    de un componente diferenciado (tal como
    un driver o el gestor de ficheros, por ej.)
    hay grandes probabilidades de que afecte al
    resto del kernel. Es decir, efectos laterales
    por todos los sitios, que obligan a un gran
    esfuerzo para mantener la coherencia del
    conjunto, y por tanto su buen funcionamiento.

    - Otra deficiencia visible en los kernels
    monolíticos tradicionales es que engloban
    como propios componentes como gestores de
    ficheros, o de memoria. Esto disminuye la
    flexibilidad del sistema. En parte, es
    similar a la situación de las shells. En
    entornos Unix, los intérpretes de comandos
    no forman parte del kernel, y como consecuencia
    un usuario puede utilizar varios, e incluso
    hacerse el suyo e instalarlo sin ningun tipo
    de privilegios. Sin embargo, en otros sistemas
    el intérprete de comandos si forma parte del
    kernel, con las desventajas evidentes.
    Parece razonable hacer lo mismo con otros
    componentes como gestores de ficheros,
    gestores de "objetos de memoria", etc.

    Estas deficiencias son universalmente reconocidas,
    y están bien estudiadas y asumidas. Como era de
    esperar, han ido surgiendo alternativas y
    propuestas de evolución, que intentan solventar
    estos problemas. De estas propuestas, tal vez
    la mas evolucionada es el concepto de microkernel.

    La idea del microkernel es muy clara: tener un
    kernel lo mas pequeño posible (que haga pocas
    cosas) y sobre el, utilizando las abstracciones
    que el microkernel "exporta", construir el resto
    del sistema. Generalmente los microkernels
    exportan abstracciones para unidades de
    ejecución (en el caso de Mach, hilos), unidades
    de encapsulación (en Mach, tareas), y un sistema
    de comunicación entre las tareas (mensajes y
    puertos, en Mach).

    De este modo, se ejecuta en modo kernel lo menos
    posible, y en modo usuario el resto. Es
    importante darse cuenta de que esto no implica
    en modo alguno que el sistema no sea seguro.
    Todos los sistemas basados en microkernels que
    emulan sistemas Unix (tales como el Hur
  • por acs (45) el Domingo, 08 Abril de 2001, 09:41h (#23833)
    ( http://acsblog.es/ | Última bitácora: Lunes, 09 Mayo de 2005, 09:17h )
    Sip, pero es necesario que algún personaje "famoso" como Linus la saque a la palestra con un ejemplo como Mach y OS X para que la discusión se amplíe a otros ámbitos. La verdad creo que es bueno que de vez en cuando estas discusiones alcancen a un público mucho más general, aunque el nivel de ruido sea mucho mayor.

    Los comentarios en BarraPunto en esta ocasión los he encontrado interesantes. Que alivio después de leer alguna noticia llena de comentarios de prensa amarilla :-(

    --

    --
    Parafraseando a Trosky "aunque a ti no te importe la ley, a la ley le importas tú" - Josemi

  • Microkernel, componentes y CORBA

    (Puntos:3, Informativo)
    por acs (45) el Domingo, 08 Abril de 2001, 09:44h (#23834)
    ( http://acsblog.es/ | Última bitácora: Lunes, 09 Mayo de 2005, 09:17h )
    Acabo de recordar la noticia sobre la introducción de ORBit (CORBA) en el núcleo y si se sigue esa línea quizá se pueda llegar a un modelo mixto bastante interesante entre el mundo monolítico y el de servidores típicos en los microkernels.

    El software libre avanza hacia un modelo de desarrollo basado en componentes y el núcleo debería de seguir también este esquema. Los componentes nos llevan a un mundo mucho más desacoplado que se ajusta mejor a el modelo de desarrollo de software libre.

    --

    --
    Parafraseando a Trosky "aunque a ti no te importe la ley, a la ley le importas tú" - Josemi

  • Desde luego yo no incluiría a NT dentro de los microkernels. Toma algún concepto de ellos, pero nada más... Tú dile a alguien que sepa de microkernels que el sistema gráfico debe ir dentro del núcleo y si no te pega es porque es una persona muy tranquila :), pero eso es una aberración.
    --

    # apt-get laid
  • Los kernels monolíticos son más fáciles de desarrollar, porque requieren de unos mínimos conceptos básicos, y nadie ha dicho que los monolíticos sean malos. Pero, recuerda que en un proyecto de software el 10% del tiempo te lo pasas programando y el 90% restante te lo pasas manteniendolo haciendo "bug-hunting", y eso en un gran pedazo de software de millones de líneas sin ningún tipo de estructuración es MUY difícil.

    Ahí entra en juego la flexibilidad de los microkernels. Con cada cosa en su subsistema separada de los demás, que debería facilitar enormemente su desarollo. Si bien es más difícil hacer que un microkernel dé sus primeros pasos, yo creo que el esfuerzo merece la pena. Yo no me vengais con que Hurd lleva 10 ó 15 años gestándose porque si Hurd tuviera la mitad de desarrolladores que tiene Linux yo creo que haría ya tiempo que habrían sacado una versión ya estable.

    Ah, y si crees que Linus no descalificó a los microkernels, leete si puedes la famosa discusión que mantuvieron Tanenbaum y el mismo Linus.
    --

    # apt-get laid
  • Re:Que metan lo que les de la gana

    (Puntos:1, Divertido)
    por pobrecito hablador el Domingo, 08 Abril de 2001, 19:19h (#23870)
    ocupan 1000 Megas?????
  • Uy que va!

    (Puntos:1)
    por MaraudeR (432) el Lunes, 09 Abril de 2001, 10:30h (#23910)
    ( http://librexpresion.org/ | Última bitácora: Martes, 17 Marzo de 2009, 08:40h )
    1000 Teras!!!!
    --
    libreXpresion.org [librexpresion.org]
  • 7 respuestas por debajo de tu umbral de lectura actual.