[EMAIL PROTECTED] wrote:
 
> Salut!
> 
> Je me pose la question suivante: un PID est donc un N. de process affecte a
> un programme par le noyau. Ca, c'est ok!!!
> ex:
> 300
> 312
> |
> |
> |
> 413
> 
> Bref. Quand un programme est tremine, un signal kill le n. de process du
> prog.. donc le PID est a nouveau libre. et peut etre reutilise par un autre
> programme.
> Sur mon serveur Intranet, j'ai des process a 3 chiffres (xxx) et je passe
> directement a xxxxx (5 chiffres). ca a l'air de ralentir un peut. mais j'ai
> beau regarde le temps machine, il n'y a rein de flagrant.
> Quelqu'un a t'il une explication?
> 
> Ps: Serveur sur Noyau 2.0.35
> Merci A+
> Franck
> 
> 
------------------------------------------------------------------------------
Salut,

Desole pour cette reponse (qui n'est en fait qu'un debut d'ebauche d'esquisse 
...) un peu tardive, mais c'est parce que je viens de tomber sur des infos au 
cours de mes lectures diverses et variees.

Voila ce que je sais sur les PID (dixit les docs):

Le PID est un entier gere par le noyau. Lors de la creation d'un nouveau 
process, la fonction systeme va rechercher un nouveau PID pour ce process (sauf 
si on utilise la fonction de clonage de process, pour les threads peut-etre 
...). Pour cela, le noyau utilise une variable noyau last_pid qui contient le 
dernier pid attribue. Le noyau incremente cette variable et teste si le pid 
existe dans la table des tasks (l'ensemble des process). Il teste aussi si le 
pid est un numero de session. Si le pid est deja utilise, last_pid est de 
nouveau incremente, et on re-teste, jusqu'a avoir un pid qui n'existe nul part. 
Puis le pid est affecte a ce nouveau process.

Voila c'est tout.

En esperant que cela t'eclairera un peu,

@+,

Frederic Combeau.

Répondre à