Un processus (en anglais, process), en informatique, est une opération complexe exécutable par un ordinateur et défini par :
L'exécution d'un processus dure un certain temps, avec 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 » utilisateur sont des [ensembles de] processus.
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 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 et également associer les processus aux utilisateurs, qui sont les récipiendaires d'un ensemble de droits d'accès : un processus a les droits de l'utilisateur qui l'a initialisé.
Un processus peut s'arrêter de plusieurs manières :
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.