Next: Appendici
Up: Introduzione
Previous: Il nostro primo modulo
Indice
Indice analitico
Kernel Symbol Table
Un modulo, come qualsiasi programma, è constituito principalmente di variabili e funzioni.
Ogni volte che un modulo è caricato nel kernel le funzioni e le variabili in esso
definite vengono rese pubbliche, assieme alla loro locazione in memoria, all'interno
della Kernel Symbol Table la quale è consultabile in /proc/ksyms.
Perché avviene questo?
Il motivo è piuttosto semplice. Come abbiamo detto il kernel di linux è nato per poter essere
modulare, questo non solo comporta la possibilità di inserire a runtime delle funzionalità
all'interno del kernel, ma comporta anche la possibilità che un nuovo modulo inserito
possa utilizzare le funzionalità messe a disposizione da moduli già presenti per svolgere
le proprie funzioni. L'accesso a tali funzionalità esterne viene garantito tramite la
Kernel Symbol Table. Avendo a disposizione l'indirizzo di memoria di tali "simboli" sarà facilmente
possibile riferirsi ad essi.
blacksheep &
2006-11-22