Comment appeler le code du noyau dans libc? (Windows ou Linux)
Question
Je veux dire, comment le noyau exposer sa fonction à l'application de l'espace utilisateur.
La solution
fonctions du noyau sont appelées à l'aide syscalls, qui prennent généralement la forme de remplir certains registres (type de syscall, paramètres, ...) et de faire une interruption logicielle (int 0x80) ou instruction sysenter (si vos supports de l'architecture elle).
Si vous faites cela sur Linux, vous voudrez peut-être voir la documentation de certains Linux, comme un ici: http://bluemaster.iu.hio.no/edu/dark/lin-asm/syscalls.html
Il existe sûrement une documentation similaire pour les autres noyaux (fenêtres).
Autres conseils
En supposant que vous parlez de Linux, vous mettez vos arguments dans les registres et l'appel d'interruption 0x80. Le nom de c'est « appel système » Voir ces liens:
- http://www.ibm.com/developerworks/linux / bibliothèque / l-système-appels /
- http://www.linuxjournal.com/article/4048
Windows est probablement similaire, cela ressemble à un bon article:
http://www.codeguru.com/cpp/ wp / system / devicedriverdevelopment / article.php / C8035
etc ... google