[uylug-varios] Kernel: Monolítico vs. Híbrido (era Re: linus torvalds finalista del premio mellennium de tecnología 2012 !!!)

Luis Pablo Pérez kylroy at gmail.com
Thu Apr 26 12:16:00 PDT 2012


2012/4/26 Enrique Verdes <emverdes at ieee.org>:
> Se puso bueno!!!
>
>>
>> Bárbaro, pero ¡ahí tenés el ejemplo que buscabas!  El hecho es que está,
>> es que hay *una* (por lo menos) función del kernel, que tampoco es una
>> función menor, que está afuera del kernel y para el propio Linus no
>> debería estar ahí.  Eso para mí te saca de lo monolítico puro y duro.
>> Si querés lo dejamos en "mayormente monolítico", no es grave para mí el
>> nombre (Linus también dijo que los híbridos no existen y es una cosa de
>> marketing), pero eso que traés justamente apoya mi reticencia a
>> considerarlo totalmente monolítico.
>
> El ejemplo lo entendí, y mi reticencia a considerarlo como
> determinante es justamente que es una parte de una parte. Ext3, Ext4,
> xfs, jfs, todavía están dentro del kernel. Y según tengo entendido,
> por ejemplo, no formateas una partición con ssshfs, es una capa de
> abstracción más. No digo que no esté bueno ni sea superpoderoso.
> Simplemente que no me parezca que lo haga híbrido.

Pero no importa si no formateas o no. Lo que importa es cual es el
flujo de la información.
Cuando una aplicación quiere utilizar un archivo sobre sshfs o zfs o
cualquier cosa en fuse,
esa aplicación primero le pide al kernel por los archivos. El control
pasa al kernel y luego el kernel pasa el control al fuse en userland.
Desde el punto de vista de la aplicación el que resolvió el problema
no fue FUSE fue el kernel. La
aplicación no tiene ni idea que hay detrás.

Si eso no es híbrido no se que puede serlo :)

[..... ]

> Me tuviste pensando en esto todo el camino desde la facultad a casa ;-)
> Te pregunto lo siguiente, ¿puedo compilar el kernel sin FUSE, soporte
> a tun/tap y todo lo demás que mencionás? Y no quiero entrar en si es
> mejor o peor. Simplemente entender si un kernel sin todas esas cosas
> que lo harían híbrido sigue funcionando igual. En ese caso, la
> "hibridez" depende de la configuración al compilar. La verdad es que
> no me alcanza para considerarlo híbrido. Pero bueno, diría que son
> maneras de ver.

Claro que no, importa relativamente poco si la funcionalidad es
requerida al momento de compilar.
O a la inversa, el kernel compila pero no funciona porque te olvidaste
de compilar un modulo importante.

Lo que determina si el kernel es de uno u otro tipo es como funciona
no como se compila.

Es bien simple:
          X es una funcionalidad que debe brindar el kernel ?
          para brindar la funcionalidad X el kernel requiere los
servicios de un proceso en userland ?

En un kernel 100% monolítico ambas no pueden ser verdaderas.

>
>>> Me gustaría que me dieras tu definición concreta de lo que es un
>>> sistema operativo, y en que es diferente del kernel. Porque para no

El kernel es una parte del sistema operativo.

ls, mv, awk son parte del kernel ? No.
son parte del sistema operativo ? Si.

La asociación aplicaciones <--> kernel es mucho mas fuerte en
distribuciones basadas en BSD.



More information about the Uylug-varios mailing list