[Précédent (date)] [Suivant (date)] [Précédent (sujet)] [Suivant (sujet)] [Index par date] [Index par sujet]
Re: symboles du noyau linux
J'ai déjà posté ce message, mais il semble que le nouveau filtre m'ait
bloqué (et les messages TPS passent encore...) J'utilise directement Usenet
et n'ai pas l'intention de changer.
Maximilien Knopp wrote:
> J'ai une question probablement très bête qui reste pour l'instant sans réponse:
>
> Qu'est ce qu'un symbole du noyau?
En général, l'usager moyen ne veut pas savoir ce que c'est et ne devrait
pas avoir à s'en occuper. Ça peut être utile à savoir pour qq qui recompile
son kernel, quelqu'un qui utilise/compile des pilotes qui ne sont pas
fournis avec le noyau ou pour un kernel hacker (developpement dans le kernel
ou de drivers).
Essentiellement, c'est un tag (symbole) associé à une adresse dans
l'espace du kernel. Ça permet a différentes parties du noyau d'acceder a
des variables ou des fonctions publiques à travers tout le noyau. Ca permet
par exemple a un driver de charger un autre module et d'utiliser certaines
fonctions de ce module. Si on enleve ce module et le remplace par une
version plus recente, le driver pourra utiliser les fonctions du nouveau
module sans qu'il ne soit nécessaire de redémarrer l'ordinateur (les
symboles seront les mêmes, mais les adresses vont être différentes et
définies au moment de charger le module).
Souvent, c'est aussi utilisé pour s'assurer qu'un module a été compilé
pour la bonne version du noyau.
Rapidement et sans trop entrer dans les détails, c'est à peu près ça.
Tu peux aussi regarder "man ksyms"
Il y a aussi le fichier "System.map" que l'on retrouve généralement dans
/boot/
Simon
--
As usual, this being a 1.3.x release, I haven't even compiled this
kernel yet. So if it works, you should be doubly impressed.
(Linus Torvalds, announcing kernel 1.3.3 on the linux-kernel mailing list.)