Monday, December 18, 2006

Distribuyendo mi carga

Rafa, para responder a tu comentario decidi hacer 2 cosas, comenzar a bajarme el Fiasco del cvs (y no seguir jugando con esa version de Fiasco que tenia desde hace mucho), y copiar y pegar el comentario en un nedit, separarlo por espacios y abordarlo linea por linea.

1. Middleware DICE, lenguaje de IDL y generador de stub y skeleton para los servicios de userspace.

Fiasco: http://os.inf.tu-dresden.de/DICE/
Pistachio: http://www.l4ka.org/projects/idl4/
NICTA: http://ertos.nicta.com.au/software/kenge/magpie/latest/

En Fiasco van en la version 3.1.0 (Nov/2006) y en Pistachio en la 1.0.0 (2003), y el de Nicta en la 1.0 (Dic/2004) , no he trabajado con ninguna de las tres, entonces no tengo nada que decir.

2. Codigo en C++ en el kernel. Bien organizado y con un preprocesador modificado que hace el codigo aun mas limpio.

En pistachio tambien esta en C++, ahora, lo del preprocesador, no creo que exista en pistachio, y no se hasta que punto sea una gran ventaja, confio plenamente en cpp.

3. Device Driver Environment: Entorno que permite reutilizar todos los drivers de Linux en L4

Fiasco: http://os.inf.tu-dresden.de/l4env/ (no encontre pagina de DDE)
Pistachio: http://www.l4ka.org/projects/virtualization/drivers.php

He leido un poco la forma como lo implementaron en Pistachio y me convence, aunque deberia leerlo mas a fondo.

4. El Build System es demasiado poderoso y organizado. Hace checkout del CVS y veras lo que te digo

Nunca he construido Fiasco del todo, solo he usado una imagen que habia en la pagina, y fue hace un buen rato.
Pistachio lo he compilado varias veces,y he construido aplicaciones de prueba, y si es un poco complicado, pero si uno sigue las ayudas no se pierde. (de hecho ayer recompile desde cero lo del CVS y no tuve problema).

En cuanto a bajarlo del CVS, en esas ando como desde hace 2 horas y nada que baja, ojala algun dia baje.


Uno de los aspectos que mas me hacen pensar en Pistachio:
http://ertos.nicta.com.au/press/051124_L4_Qualcomm_vfinal.pdf

Plataformas soportadas:
Fiasco:
  * IA32 (Intel, AMD and compatible CPUs, i486 and above)
* ARM (SA1110 and PXA)
* UX (Linux usermode emulation of Fiasco/L4
Pistachio:
  • Alpha (21164, 21264)
  • AMD64 (Opteron 242, Simics)
  • ARM (SA1100, XScale, ARM925T)
  • IA32 (Pentium and higher)
  • IA64 (Itanium1, Itanium2, Ski)
  • MIPS 64bit (R4000, R5000)
  • PowerPC 32bit (IBM 750)
  • PowerPC 64bit (Power3, Power4)
  • ((((Pronto M68K jeje))))
Al fin de cuentas, tal parece que ambos tiran para el mismo lado, pero me interesa mas pistachio, por muchas cosas, entre unas el hecho que lo sigan trabajando en UNSW y en NICTA en Australia.

Aun asi, voy a comenzar a trabajar tambien en Fiasco, para ver bien cual se acomoda mejor a lo que estoy buscando.

Pero si me tenes un puestico en Dresden me paso de una a Fiasco, y volvemos a Fiasco "El uKernel".

1 comment:

Anonymous said...

OK, varias respuestas:

1. Se me olvido mencionar que Fiasco es el unico microkernel portado a userspace (es decir, linux como plataforma), eso facilita enormemente el desarrollo, pues no requiere virtual machine, sino simplemente reiniciar el proceso.

2. Respecto a la alternativa que tiene en Karlsruhe para reutilizar los drivers, segun lo que alcanzo a leer: "running them within their original operating system in a virtual machine", tenes que correr el sistema operativo original y asi poder reutilizar los drivers en tiempo de ejecucion. La alternativa de dresden DDE, es en tiempo de compilacion. El concepto es muy simple, lo que hacen es implementar en L4 las funciones de linux que utilizan todos los drivers. De esta forma pueden recompilar los drivers de Linux en L4 y por ende utilizarlos sin modificarlos. Creo que DDE no tiene pagina como tal, pero cuando te bajes el CVS vas a ver el directorio de DDE dentro del directorio pkg que es donde estan todos los paquetes de user-space.

3. Respecto al numero de plataformas y al numero de universidades trabajando en microkernel, creo que Pistachio es el ganador. Karlsruhe tiene muy buena reputacion en alemania y trabajan duro en el tema, el problema es que las clases del master en Karlsruhe son en aleman y eso complica el viaje. Por el otro lado, creo que de todos los grupos el mas fuerte es en South Wales. Ayer precisamente estuve viendo el numero de publicaciones que estan metiendo en conferences y revistas y es demasiado alto. Sin embargo la aceptacion para el master es creo que mas chicharronuda. Ahora Dresden es creo que la segunda universidad en alemania en Sistemas Operativos y la tercera en europa despues de Cambridge y Karlsruhe, la gente es super abierta y espero poder primero llegar a Dresden y por supuesto, y si hago un trabajo decente seguro que no habra problema en hablar por el Jorge =).