[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/