Buenas, es exactamente la idea que tengo yo. De dar servicios con espacios de nombres. Lo que pasa que al final el conjunto de espacios de nombres forman el sistema de ficheros quieras o no :), vamos que puede ser mas flexible en cuanto a que no es un sistema de ficheros para todo el sistema, sino por cada usuario o incluso proceso o hilo.
La cosa sería que algunos espacios de nombres no exportarián objetos con la interfaz fichero, sinó con otra interfaz: dispositivo,servicio de memoria, etc.
En L4 las interfaces son muy faciles de definir con IDL4 (un compilador de interfaces CORBA y DCE que genera los stubs necesarios y optimizados para L4 y la máquina). La cosa sería primero definir todas las interfaces que compondrían el sistema y luego montar todos los servicios sobre estas interfaces,
Por ejemplo interfaces básicas que debería tener (sacadas en parte de chacmOS):
-generico (Este servicio se encargaría de informar de que interfaces exporta el servicio y lo tendrían todos los servicios)
-espacio_de_nombres
mount
unmount
-directorio
resolve
link
unlink
-fichero
open
read
close
etc...
a partir de aquí se podría pensar en más interfaces para servicios.
Sobre lo de meterse con un procesador de 64 bits a mi tambien me gustaría, pero a dia de hoy como que estan poco asequibles jeje :), al menos la arquitectura IA-64 que es donde me gustaria desarrollar.
--
---------
Algún dia encontraré una frase interesante...
Re:[OT]: Exokernel y L4
(Puntos:1)( http://barrapunto.com/index.pl?section=mbp-activez | Última bitácora: Martes, 13 Mayo de 2003, 00:42h )
La cosa sería que algunos espacios de nombres no exportarián objetos con la interfaz fichero, sinó con otra interfaz: dispositivo,servicio de memoria, etc.
En L4 las interfaces son muy faciles de definir con IDL4 (un compilador de interfaces CORBA y DCE que genera los stubs necesarios y optimizados para L4 y la máquina). La cosa sería primero definir todas las interfaces que compondrían el sistema y luego montar todos los servicios sobre estas interfaces,
Por ejemplo interfaces básicas que debería tener (sacadas en parte de chacmOS):
-generico (Este servicio se encargaría de informar de que interfaces exporta el servicio y lo tendrían todos los servicios)
-espacio_de_nombres
mount
unmount
-directorio
resolve
link
unlink
-fichero
open
read
close
etc...
a partir de aquí se podría pensar en más interfaces para servicios.
Sobre lo de meterse con un procesador de 64 bits a mi tambien me gustaría, pero a dia de hoy como que estan poco asequibles jeje :), al menos la arquitectura IA-64 que es donde me gustaria desarrollar.
---------
Algún dia encontraré una frase interesante...