Flux RSS - La vie du site - Nouveautés et mises à jour
Assiste.com - Sécurité informatique - Décontamination - Antivirus - Protection - Protection de la Vie Privée Assiste.com - Sécurité informatique préventive - Décontamination - Antivirus - Protection - Protection de la Vie Privée

Processus

La notion de processus informatiques - c'est l'instance d'exécution d'une séquence d'instructions. Les mêmes instructions stockées sur un support (disque, clé USB, etc.) ne constituent pas un processus.

Processus - Processus ProcessusEcrire à Assiste.com - Processus - Processus Processus

Un « processus », d'une manière générale (en dehors du monde très réducteur de l'informatique) est une succession d’actions ayant un but. C’est un « geste créatif », un « procédé », indépendamment de ce qui est l’objet de ces actions.

La meilleure démonstration de la complète dichotomie entre « processus » et « objet du processus » est donnée dans l’art conceptuel ou l’art pauvre (Arte Povera) dans lesquels le « processus créatif » (la démarche intellectuelle de l'artiste) est élevé au rang d’un art, tandis que l’objet du « processus créatif » (l’œuvre) n’a aucun intérêt (les « Merde d’artiste » de Piero Manzoni en sont l’archétype).

La notion de processus - Il y a un « processus » (un « processus créatif ») chez Piero Manzoni, peu importe « ce qui en sort »
La notion de processus - Il y a un « processus » (un « processus créatif ») chez Piero Manzoni, peu importe « ce qui en sort »

En informatique, un « processus » est la copie (la montée en mémoire, son « instance »), en cours d’exécutioninstance en cours d'exécution ») d’une succession d'instructions (stockée sur un support comme un disque dur ou saisie à la main depuis la console...). Cette instance d'éxécution :

  1. Se trouve dans une zone de la mémoire RAM, protégée, d'où elle s'exécute :
  2. Est associée à un environnement matériel (processeur, registres d'état « PSW » (« Program Status Word), registres d'entrées, registre de sortie, compteur ordinal (CO), registre d'adresse, registre de données, registre d'instruction, etc.)
  3. Est associée à une zone de mémoire RAM où sont les données sur lesquelles le processus travaille (une adresse de départ et une longueur)

Deux remarques à ce stade

  1. Le « context switching » (la commutation entre un processus et un autre qui fait qu’un ordinateur donne l’impression d’exécuter plusieurs applications simultanément) est la sauvegarde / restauration des associations 2 et 3 ci-dessus
  2. Le fait que le code (point 1 ci-dessus) et les données (point 3 ci-dessus) partagent le même espace (à des endroits différents), a été théorisé en 1936 par Alan Turing et c'est toujours cette architecture qui est au cœur de l'ordinateur, la tablette, le smartphone que vous utilisez pour lire cette page : ils sont dits « machines de Turing ».

En informatique, la notion de « processus » est très réductrice. Cette « occurrence procédurale d’une application » est restreinte à la finalité de l’application : prendre des données en entrée et les transformer / manipuler d’une manière déterministe (toujours de la même manière, répétitive).

Le terme de « processus » est alors éloigné de la notion de « processus créatif ou cognitif », mais se rapproche plus simplement de la notion d’exécution : « je procède à... », « je m'exécute ».

Au sens de l’utilisateur d’un ordinateur, une application installée (sur un disque dur, ...), comme un traitement de texte, un tableur, un logiciel de montage vidéo, une application de paye ou de comptabilité, un client de P2P, etc. ... et qui est appelée (lancée) pour s’exécuter, « monte en mémoire » et s’exécute sous la forme d’un (ou de plusieurs) « processus ».

Une application informatique, selon la manière dont elle est écrite, peut s’exécuter :

  • Sous forme d’un « processus unique »
  • Sous forme de plusieurs processus qui dépendent les uns des autres (un processus en appelle un autre, etc. ...), créant une arborecence
  • Sous forme d'un « segment maître » de l'application qui est écrit pour appeler des modules indépendant s'exécutant en se remplaçant l'un l'autre dans l'espace mémoire, ceci afin d'économiser la mobilisation de ressources.

Dans le « Gestionnaire de tâches » du système d’exploitation Microsoft Windows, il est possible de « tuer un processus » ou tout un groupe de « processus interdépendants » concourant à l’exécution d’une même application (Onglet « Processus » [ou, sous Windows 10, onglet « Détail »] Processus informatique Clic droit Processus informatique « »).

Certains « processus » qui interviennent au service d’une application, ne sont pas dépendant de celle-ci. Tuer l’arborescence des processus d’une application n’aura aucun effet sur ces « services » qui s’exécutent, eux aussi, sous forme de « processus ».

La succession d'instructions stockée dans un fichier, sur un support (disque...) ne constitue pas un processus. C'est son « instance en cours d'exécution » qui est un processus. La même séquence d'instructions, montée plusieurs fois en mémoire, constitue autant de processus qu'il y a de copie en mémoire. Appelez le bloc-notes de Windows (le programme « Notepad ») 10 fois et vous aurez 10 processus « Notepad » en cours d'exécution.

Processus - Instance d'exécution, en mémoire, d'un code
Processus - Instance d'exécution, en mémoire, d'un code


Propriétés des processus

Les « processus informatiques » (les applications en cours d’exécution) ont des propriétés, comme :

  • Leur niveau de priorité qui fait qu’ils vont bénéficier de plus ou moins de temps calcul pour s’exécuter plus ou moins vite par rapport aux autres processus.
  • Leur partage entre plusieurs utilisateurs simultanés ou non (cas des DLLs, mais il y a un autre concept, celui de la réentrance).
  • Leur appartenance au système d’exploitation ou à l’utilisateur.
  • Une « affinité » avec un processeur ou un autre sur les machines multiprocesseurs.
  • Lorsqu’une tâche (une application...) monte en mémoire pour s’exécuter, son processus se voit attribuer un identifiant (ID).
  • Etc. ...
Processus - Processus