Lorsque je crée plusieurs threads à partir d'un processus, chaque thread a-t-il sa propre pile ou partage-t-il la pile de son processus parent ? Que se passe-t-il lorsqu'un thread effectue un appel système ? Les threads conservent-ils également leur propre pile de noyau comme les processus ?
Réponse
Trop de publicités?Oui, les threads ont leurs propres piles et leurs propres piles de noyau (par exemple, Linux).
Lorsqu'un thread effectue un appel système, vous passez en mode noyau (à partir du mode utilisateur), vous passez les arguments au noyau, les arguments sont vérifiés, le noyau fait ce qu'il doit faire (dans la pile du noyau), renvoie la valeur finale au thread et vous revenez en mode utilisateur.