comment puis-je ajouter un système d'appel / utilitaire dans xv6
Quelqu'un peut-il me dire/point de moi de toutes les références à la façon d'ajouter un système d'appel /utilitaire dans XV6
recherche exhaustive sur google fut en vain, et le piratage à la dure n'était pas aussi productif jusqu'à présent .
le livre de référence aussi, ne disposent d'aucun exemple hello world pour commencer
toute aide grandement appréciée
OriginalL'auteur sashank | 2011-11-05
Vous devez vous connecter pour publier un commentaire.
Lire ceci: http://zoo.cs.yale.edu/classes/cs422/2010/xv6-book/trap.pdf
Il explique assez bien
OriginalL'auteur madmaze
Pour ajouter un appel système qui peuvent être appelées dans xv6 shell,
vous devez donc quelque chose avec les cinq fichiers
usys.S utiliser la macro pour définir connecter l'appel de l'utilisateur à la fonction de l'appel système
defs.h ajouter une déclaration de votre nouveau système d'appel
Vous avez raison de Reut, defs.h est également nécessaire.
Vous pouvez mettre en œuvre le système d'appel dans sysfile.c ainsi.
OriginalL'auteur Yang
Je vais vous expliquer un exemple simple sur l'ajout d'un système d'appel dans xv6.
Supposons que vous disposez d'ajouter un système d'appel pour obtenir l'adresse de l'espace de la taille de la cours d'exécution du programme utilisateur. Vous pouvez mettre le nom de votre système d'appel getmysize() et d'appeler ce système d'appel à partir d'un programme utilisateur.
Vous pouvez écrire votre programme utilisateur comme suit. Laissez le nom de programme d'être myprog.c je suppose que vous savez comment ajouter un programme utilisateur pour xv6. Je vais donc sauter mentionner ces étapes ici, car il sera le sujet.
Ce programme est écrit dans le but de démontrer le fonctionnement du système d'appel seulement.
Maintenant, nous allons ajouter notre système d'appel à xv6.
D'abord ajouter la ligne suivante à la fin du fichier syscall.h.
Noter que le 23 ici peut changer selon le nombre donné avant de la ligne à ajouter dans le fichier. Si le système de numéro d'appel est de 22 dans la ligne avant la ligne que vous allez à ajouter, votre ligne doit avoir le nombre 23. Simple que cela.
Maintenant, ajoutez les lignes suivantes à la syscall.c fichier.
et dans le tableau des syscalls, ajoutez la ligne suivante dans le.
Dans le fichier sysproc.c, c'est là que la mise en œuvre de votre système d'appel va si c'est un appel système liées à la gestion de processus ou de la gestion de la mémoire, mettre la mise en œuvre de notre système d'appel comme suit.
Maintenant dans le usys.S fichier, ajoutez la ligne,
Puis dans le de l'utilisateur.h fichier, ajoutez la ligne suivante. C'est comment votre programme utilisateur voit votre appel système.
Ok. Vous êtes maintenant prêt à exécuter votre programme utilisateur et de voir comment votre système d'appel s'exécute.
Lorsque vous exécutez myprog.c qui appelle votre appel système, la taille de l'espace d'adressage de ce même programme seront renvoyés en fonction de ce que nous avons mis en place ici.
OriginalL'auteur Tharika Madurapperuma