Outils pour utilisateurs

Outils du site


sysadmin:linux:processus

Le processus

Un 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 Process ID: identifiant du processus
UID User ID; identifiant de l'utilisateur
EUID Exec User 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

sysadmin/linux/processus.txt · Dernière modification : 2023/01/19 16:45 de yoann