Fork (programmation)

Fork (programmation)
Page d'aide sur l'homonymie Pour les articles homonymes, voir fork.

La fonction fork fait partie des appels système standard d'UNIX (norme POSIX). Cette fonction permet à un processus (un programme en cours d'exécution) de donner naissance à un nouveau processus, par exemple en vue de réaliser un second traitement parallèlement au premier.

Il existe une filiation dans les processus : le créateur d'un nouveau processus est appelé le père et le nouveau processus, le fils. Tous les attributs système du père (par exemple les droits sur le système de fichier) sont transmis au fils, de la même manière que l'héritage. Au démarrage d'un système Unix, un seul processus existe (de numéro 1). Tous les autres processus qui peuvent exister au cours de la vie du système descendent de ce premier processus via des appels système fork successifs.

Fonctionnement

L'appel système fork fournit une valeur résultat qui est un entier. Le processus pour qui cet entier vaut 0 en déduit qu'il est le processus fils. Le processus pour qui cet entier est non nul en déduit qu'il est le processus père, et l'entier représente l'identifiant de processus (PID) du processus fils.

Utilisation et alternative

Chaque processus d'un fork possède son propre espace d'adressage, qu'il est coûteux de dupliquer, même avec des astuces comme le copy on write. Il est parfois avantageux de remplacer les forks par des threads processus légers qui partagent le même espace mémoire... aux risques et périls du programmeur, cependant.

La fonction fork est largement utilisée dans les applications client-serveur avec plusieurs clients simultanés.


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Fork (programmation) de Wikipédia en français (auteurs)

Игры ⚽ Нужно решить контрольную?

Regardez d'autres dictionnaires:

  • Fork (développement logiciel) — Pour les articles homonymes, voir fork. Un fork, ou embranchement, est un nouveau logiciel créé à partir du code source d un logiciel existant. Cela suppose que les droits accordés par les auteurs le permettent : ils doivent autoriser l… …   Wikipédia en Français

  • Fork — Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom. Fork (du mot anglais signifiant « fourche », et du mot latin furca ) désigne un objet (au sens large, cela peut être un projet) ayant une racine …   Wikipédia en Français

  • Emacs — Pour les articles homonymes, voir Emacs (homonymie). Emacs …   Wikipédia en Français

  • Liste de systèmes de gestion de contenu — Cet article présente une liste de systèmes de gestion de contenu (SGC). Article principal : Système de gestion de contenu. Sommaire 1 Quelques SGC 1.1 SGC ne nécessitant pas de base de données 1.2 Portails …   Wikipédia en Français

  • Liste De Systèmes De Gestion De Contenu — Cet article présente une liste de systèmes de gestion de contenu (SGC). Article détaillé : Système de gestion de contenu. Sommaire 1 Quelques SGC 1.1 SGC ne nécessitant pas de base de données 1.2 Portails …   Wikipédia en Français

  • Liste de systemes de gestion de contenu — Liste de systèmes de gestion de contenu Cet article présente une liste de systèmes de gestion de contenu (SGC). Article détaillé : Système de gestion de contenu. Sommaire 1 Quelques SGC 1.1 SGC ne nécessitant pas de base de données 1.2… …   Wikipédia en Français

  • Liste de logiciels libres — Les logiciels libres présents sur cette page le sont selon la définition de l article « logiciel libre ». La plupart des programmes cités ici sont disponibles sous licence GNU GPL ou BSD. Sommaire 1 Système d exploitation 1.1 Famille… …   Wikipédia en Français

  • Clipper (langage) — Pour les articles homonymes, voir Clipper (homonymie). Clipper est un langage de programmation de haut niveau, initialement destiné à la création de programmes de gestion de bases de données (SGBD) en environnement DOS. En raison de sa grande… …   Wikipédia en Français

  • Epoch (éditeur de texte) — Pour les articles homonymes, voir Epoch (homonymie). Epoch …   Wikipédia en Français

  • Pharo — Auteurs l équipe du Projet Pharo Paradigmes POO …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”