Je suis en mesure d'obtenir l'exécution de l'appel d'appels système et son traitement dans le noyau. Mais peu de choses ne me sont pas encore claires. En entrant dans la routine swi, le noyau enregistre les registres du mode Utilisateur sur la pile. La question est -Linux Appel système
De qui s'agit-il? (Comme la gestion de swi et la routine d'appel système correspondante a besoin du cadre de pile pour fonctionner)
Si c'est la pile du noyau, d'où la pile sera-t-elle allouée? Est-ce qu'il commencera à utiliser la pile du courant? Si oui, alors courant peut être n'importe quel processus qui pourrait être en cours d'exécution dans le noyau. Est-ce que cela n'épuise pas la pile de courant? S'il utilise la pile du processus utilisateur en cours d'exécution dans le gestionnaire swi, il s'agira de l'espace adresse de l'utilisateur auquel le noyau va maintenant accéder. Est-ce possible? Comme la mémoire adressable du noyau est inférieure à 1 Go (si le rapport d'espace d'adressage Kernel-to-User est utilisé dans un système de mémoire RAM de 4 Go).
Merci et vous avez raison .. Le mode utilisateur SP, LR sont sauvegardés lors de l'entrée dans SWI hander. Mais je peux voir les informations actuelles (le noyau Linux task_struct qui est actif) de la pile de gestionnaires SWI. Comment est-ce possible? –