background preloader

Apprentissage C

Facebook Twitter

La programmation système en C sous Linux. Les piles et les files. Les listes chaînées. Que fait un fork() ? Introduction Un fork est une fonctionnalité sous les systèmes Unix ou Linux qui permet de dupliquer un processus. Pour expliquer son fonctionnement, on va partir d'un processus qu'on appellera avec affection "Le Papa". Ce processus va simplement se dupliquer et les deux processus (le père et le fils) afficheront chacun leur statut (père ou fils). Lancement du père Nous allons partir d'un processus père.

Afin de bien déterminer les enjeux du fork, on va également observer ses descripteurs de fichiers, ou plutôt l'un des plus importants: celui du flux de sortie (stdout) c'est-à-dire l'écran. Voici à quoi va ressembler notre processus de départ: La flèche rouge pointe vers la prochaine instruction à exécuter. On peut voir en rouge les instructions qui ont été exécutées, ainsi que les données qui ont été modifiées par la dernière instruction. Le fork La prochaine instruction est la plus délicate à comprendre, exécutons-la et regardons ce qui se passe. Le père a appelé fork et il s'est dupliqué.

Partie I