{{tag>linux sysadmin processus}} ====== Le processus ====== Un [[lexiques/informatique/processus|processus]] est une instance en cours d' exécution d'un programme, il occupe les ressources qui lui sont fournies par le système d'exploitation: temps processeur, mémoire RAM etc. ===== Etats ===== Quel que soit sont état, un processus est en mémoire (RAM ou swap). L’état Zombi: Lors de l'appel système **exit(n)** le processus se termine. Il passe alors à l'état **zombi**. Toutes les ressources qu'il occupait en mémoire sont libérées mais il existe encore dans la table des processus. Cela permet au processus père de récupérer la valeur n passée via l'appel de la fonction exit(n). Les informations liées au processus ^ PID | **P**rocess **ID**: identifiant du processus | ^ UID | **U**ser **ID**; identifiant de l'utilisateur | ^ EUID | **E**xec **U**ser **ID**, identifiant effectif | ^ stime | start time, la date de lancement du processus | ^ time | temps processeur consommé par le processus | ===== Anatomie du processus ===== ^ Zone U | contient des informations sur le processus | ^ Texte | Les instructions, le code exécutable du programme | ^ Données | zone mémoire contenant les variables | ^ Tas | | ^ Pile | | ===== Les fonctions de gestions des processus ===== * **fork()**: Lors d'un appel à fork(), une nouvelle entrée est créée dans la table des processus, la zone U du processus père est copiée, les zones Texte, Données sont portées dans l'espace du processus fils. * **exec()**: Pas de modification de la table des processus, l'espace mémoire est libéré sauf zone U et la mémoire est allouée pour le nouveau programme. * **exit()**: Tout l'espace mémoire est libéré, l'entrée est conservée dans la table des processus, le processus père peut récupérer le code retour passé en paramètre de la fonction exit(). * **wait()**: Le processus pere se met en attente de la terminaison du processus fils. Lorsque celui-ci se termine, le père récupère le code retour, la mémoire est libérée et l'entrée correspondant au processus fils est retirée de la table des processus. ===== Références ===== * http://www.linux-france.org/article/dalox/unix03.htm