- Processus informatique
-
Processus (informatique)
Pour les articles homonymes, voir Processus.Un processus (en anglais, process), en informatique, est défini par :
- un ensemble d'instructions à exécuter (un programme) ;
- un espace mémoire pour les données de travail ;
- éventuellement, d'autres ressources, comme des descripteurs de fichiers, des ports réseau, etc.
Un ordinateur équipé d'un système d'exploitation à temps partagé est capable d'exécuter plusieurs processus de façon « quasi-simultanée ». Par analogie avec les télécommunications, on nomme multiplexage ce procédé. S'il y a plusieurs processeurs, l'exécution des processus est distribuée de façon équitable sur ces processeurs.
Le sens de processus doit être pris comme quelque chose qui prend du temps, donc qui a un début et (parfois) une fin. Un processus peut être démarré par un utilisateur par l'intermédiaire d'un périphérique ou bien par un autre processus : les applications des utilisateurs sont des (ensembles de) processus.
Le système d'exploitation est chargé d'allouer les ressources (mémoires, temps processeur, entrées/sorties) nécessaires aux processus et d'assurer que le fonctionnement d'un processus n'interfère pas avec celui des autres (isolation). Il peut aussi fournir une API pour permettre la communication inter-processus (IPC).
Outre le multiplexage des ressources matérielles, le système peut contrôler l'accès des processus aux ressources selon une matrice de droits (permissions d'accès) et également associer les processus aux utilisateurs, qui sont les récipendiaires d'un ensemble de droits d'accès : un processus a les droits de l'utilisateur qui l'a démarré.
Un processus peut s'arrêter de plusieurs manières :
- Arrêt normal (volontaire).
- Arrêt pour erreur (volontaire).
- Arrêt pour erreur fatale (involontaire).
- Le processus est arrêté par un autre processus (involontaire).
Quand un arrêt de processus n'est pas un arrêt normal, il peut être important d'en être prévenu. Cela peut se faire par des systèmes de supervision (aussi appelé monitoring)
La plupart des systèmes offrent la distinction entre processus lourd (tels que nous les avons décrits), qui sont a priori complètement isolés les uns des autres, et processus légers (Threads en anglais), qui ont un espace mémoire (et d'autres ressources) en commun.
Dans le cas de processus comportant plusieurs processus légers (ou suivant l'expression souvent utilisée multi-thread) il existe un état du processeur (un contexte d'exécution) distinct pour chaque processus léger.
Voir aussi
Articles connexes
- Multitâches
- Ordonnancement dans les systèmes d'exploitation
- Supervision / Surveillance (informatique)
- Zombie
Liens externes
- Bloquer des processus avec Anti-Process
- Surveiller en ASP les processus, le système, les applications, le parc connecté
- Vhiseo outil pour accompagner la conduite du changement et la gestion des procédures
- (fr) Tutorial sur le fonctionnement des processus sous GNU/Linux
- Portail de l’informatique
- Portail de la programmation informatique
Catégories : Ordonnanceur | Programmation concurrente
Wikimedia Foundation. 2010.