Je souhaite installer un nouvel appel système dans un emplacement non utilisé et attendre les instructions de l'espace utilisateur. Je ne sais pas comment le faire.Comment faire pour installer un appel système dans un module noyau
Répondre
En supposant que vous parlez de Linux 2.6, vous devriez regarder ce guide: http://www.ibm.com/developerworks/linux/library/l-system-calls/index.html
Plus d'informations:
http://tldp.org/HOWTO/html_single/Implement-Sys-Call-Linux-2.6-i386/
Notez que vous ne pouvez pas installer des appels système dans un module - le noyau l'image doit être recompilée.
En supposant que vous discutez Linux ...
Mucking avec la table d'appel système est une mauvaise idée. Les noyaux ont quelques failles de sécurité contre le changement dynamique (ce qui est une bonne chose), donc vous devrez reconstruire tout votre noyau pour faire les modifications.
Voici une meilleure approche tout aussi flexible. Construire un module qui crée un nouveau périphérique de bloc et implémente votre "appel système" comme un ioctl sur ce périphérique. Vous n'aurez pas à recompiler le noyau pour l'implémenter, et vous n'aurez pas à vous soucier de toucher les fichiers d'assemblage. Lorsque vous effectuez un développement itératif, la recompilation et la réinsertion d'un module vous permettent de travailler beaucoup plus rapidement que si vous aviez besoin de redémarrer pour que vos modifications prennent effet.
Regardez Linux Device Drivers, Ch5 pour plus d'informations sur l'écriture d'ioctls.
Interface 'sysfs'' 'ioctl', en termes de conventions modernes du noyau. –
L'utilisation de sysfs ou d'ioctls dépend de la nature de l'appel système que l'affiche tente de mettre en œuvre. Sysfs semble adapté pour afficher des informations et des variables de configuration. C'est une belle amélioration de la programmabilité et de la facilité d'utilisation des ioctls. Cependant, les ioctls sont plus généraux et ressemblent plus à ce que vous obtiendriez en ajoutant un nouvel appel système. – Karmastan
- 1. Module noyau pour/proc
- 2. Noyau Linux - ajouter l'appel système dynamiquement via le module
- 3. Écrire un appel système pour Linux
- 4. Comment construire un module de noyau
- 5. Puis-je ajouter un appel système depuis un module?
- 6. Comment installer dotnetnuke dans un système local?
- 7. Comment faire un appel système et recharger un fichier dans une macro Visual Studio 2010?
- 8. Linux Real Mode Interface dans un module noyau Linux
- 9. Comment installer un module en erlang?
- 10. Comment faire dépendre un module de noyau Linux d'un autre module externe avec depmod?
- 11. Comment allouer une page exécutable dans un module noyau Linux?
- 12. En Perl, comment faire un appel système non bloquant?
- 13. Application iPhone pour faire un appel vocal
- 14. Existe-t-il un moyen d'utiliser le même fichier pour un module RTP et un module noyau dans vxWorks?
- 15. J2ME: Comment faire un appel?
- 16. Comment installer un module comme un oeuf sous IronPython?
- 17. Implémentation d'extensions de CPU dans un module noyau
- 18. UNIX Appel système pour enregistrer un processus d'arrière-plan
- 19. Comment faire un appel REST dans JSP?
- 20. Puis-je utiliser strtok() dans un module de noyau Linux?
- 21. Où puis-je ajouter un appel système à la source du noyau Linux?
- 22. Comment voir les changelogs pour un module particulier dans le noyau
- 23. Quelles options avons-nous pour la communication entre un programme utilisateur et un module noyau Linux?
- 24. Comment puis-je accéder à la mémoire à une adresse physique connue dans un module noyau?
- 25. Comment puis-je faire un « appel système Tar fichiers (avec exclusion tag) » pour travailler en Perl
- 26. Comment faire pour installer ajaxControlToolKit.dll dans gac
- 27. Application ASP.NET pour faire un appel skype
- 28. Makefile pour le module noyau Linux?
- 29. Comment faire pour installer Satchmo dans Windows?
- 30. Comment faire un appel dll d'action personnalisée wix pour utiliser le runtime de débogage via un module de fusion?
Je ne suis pas un expert, mais je suis sûr que cela vous aidera si vous nous dites quel système d'exploitation vous utilisez. –