[Kos-dev] Deux questions sans reponses

Thomas Petazzoni kos-dev@enix.org
Sat, 14 Jul 2001 15:33:23 +0200


>   >Mais bon ca t'oblige pas forcément a recompiler une libC, juste t'as
>   >libc aura pas tout les syscalls de ton kernel. C'est exactement pareil
>   >pour linux aujordh'ui, quand unsyscall est rajouté si la libc ne le
>   >supporte pas, t'es obligé de faire des contorsions pour l'appeler.
>   >
>   >De toute facon une fois que les interfaces de BabelOS sont définis, ca ne
>   >devra pas forcément bouger tant que ca.
>   >
>   >D'aileur il est pas frocément dit que ce soit la libc qui contiennent
>   >tous ces appels directs vers les drivers. Une libbabel/libbabelos serait
>   >sans doute plus adapté si tu limites la libC aux fonctions définies par
>   >le standard et aux fonctions POSIX.

ouais mais bon y'a besoin de recompiler quand meme. arf, c'est
desesperant cette informatique, on peut pas tout faire comme on aimerait
le faire :)

> on presente la chose sous l'appellation "kernel package" format
> ".kpkg" par exemple, dedans tu a un ".ro" que tu exploites par une
> commande similaire a insmod sous linux, il y aura le code pour le
> noyau comme nos modules du loader actuel d'ailleurs. par ailleurs tu
> as les includes ".h" pour pouvoir manipuler les methodes des instances
> qui dependront de l'interface et finalement une librairies ".so" qui
> implemente le code pour le lien CPL0/CPL3.
> 
> pour exemple :
> 
> babel.kpkg
>  (
>    - babel.ro
>    - include/babel.h
>    - babel.so
>  )

On peut imaginer ca, mais ca va etre assez complexe : pour charger des
modules, t'as besoin d'un FS, donc il peut pas etre en module. Ensuite
il faut que ton module soit charge avant meme que tu n'accedes a une
ressource utilisant ce module.

C'est faisable, mais ca marchera pas pour tout. Il y aura des modules du
noyau exportant des methodes vers le CPL3 qui pourront pas vraiment etre
implementes en module chargeable dynamiquement.

Thomas
-- 
PETAZZONI Thomas
thomas.petazzoni@meridon.com     UIN : 34937744
Projet KOS : http://kos.enix.org
Page Perso : http://www.enix.org/~thomas/