Salut à tous,

Où l'on retombe dans le gros problème : c'est quoi un processus, c'est quoi
un thread...
Je pense que l'objet de la qustion de départ était de savoir "en gros" et de
manière assez simple ce que fait "l'appel système" fork.
Je vais tenter de répondre de la manière que je ressent la plus simple, elle
manquera surement de rigueur pour les puristes.
Un processus et (grossièrement) un programme.
La commande fork() dans le code d'un programme permet à celui-ci de se
dupliquer (de se cloner).
On aura donc après l'appel à la commande fork() 2 programmes identiques qui
vont tourner.
Quel est l'intérêt ?
        On va pouvoir créer des processus fils à partir d'un processus père. L'idée
intéressante est que chaque processus peut savoir qu il est (le père où le
fils). Donc avec le même code (en C par exemple) on peut développer un
programme qui peut faire des choses différents s'il est le père où s'il est
le fils.
Ce principe est (était ?) très utilisé pour les applications client/serveur
:
        Le père écoute un port
        Dès qu'une demande de connexion est reçue, il crée un processus fils pour
qu'il s'occupe de traiter la demande
        Le père ferme la connexion (puisque c'est le fils qui a repris)
        Le père se remet en écoute

Ainsi on peut avoir un serveur capable de répondre à plusieurs demandes
clients.

Corrigez, complétez, simplifiez, précisez. Ce message est maintenant votre
:)

Alexis ROLLAND


Répondre à