Technopedia Center
PMB University Brochure
Faculty of Engineering and Computer Science
S1 Informatics S1 Information Systems S1 Information Technology S1 Computer Engineering S1 Electrical Engineering S1 Civil Engineering

faculty of Economics and Business
S1 Management S1 Accountancy

Faculty of Letters and Educational Sciences
S1 English literature S1 English language education S1 Mathematics education S1 Sports Education
  • Registerasi
  • Brosur UTI
  • Kip Scholarship Information
  • Performance
  1. Weltenzyklopädie
  2. Processus (informatique) — Wikipédia
Processus (informatique) — Wikipédia 👆 Click Here! Read More..
Un article de Wikipédia, l'encyclopédie libre.
Page d’aide sur l’homonymie

Pour les articles homonymes, voir Processus.

Diagramme d'état d'un processus simple.

Un processus (en anglais, process), en informatique, est un programme en cours d'exécution par un ordinateur. De façon plus précise, il peut être défini comme :

  • un ensemble d'instructions à exécuter, pouvant être dans la mémoire morte, mais le plus souvent chargé depuis la mémoire de masse vers la mémoire vive ;
  • un espace d'adressage en mémoire vive pour stocker la pile, les données de travail, etc. ;
  • des ressources permettant des entrées-sorties de données, comme des ports réseau.

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.

Dans le CIM Schema défini par le Common Information Model, la classe de base CIM_Process est attribuée aux processus informatiques[1]. Selon le système d'exploitation, elle peut être dérivée en Win32_Process[2], en IBMzOS_Process[3] ou en CIM_UnixProcess[4].

Rôle du système d'exploitation

[modifier | modifier le code]

Un ordinateur équipé d'un système d'exploitation multitâches est capable d'exécuter plusieurs processus de façon simultanés.

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.

Ressources et communication

[modifier | modifier le code]

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).

Exécution

[modifier | modifier le code]

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 :

  1. Arrêt normal (volontaire) ;
  2. Arrêt pour erreur (volontaire) ;
  3. Arrêt pour erreur fatale (involontaire) ;
  4. 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, qui sont a priori complètement isolés les uns des autres, et « processus légers » (threads en anglais), qui composent les processus (chaque processus possède au moins un thread) et qui partagent 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.

États d'un processus

[modifier | modifier le code]

Les états successifs d'un processus sont généralement représentées par un diagramme d'état.

Observabilité

[modifier | modifier le code]

L'utilisation de diagrammes d'état est dû au fait qu'un processus n'est cohérent, de l'extérieur, qu'à certains moments de son exécution, notamment en dehors des sections critiques. En pratique, on observe l'état d'un processus en communiquant avec lui ; il fournit ainsi une réponse au moment où il est cohérent.

Prenons un exemple ; soit la suite d'instructions en pseudo-code appartenant à un programme quelconque :

procédure empiler (v : valeur)
    compteur := compteur+1
    vect[compteur] := v

Le programme utilisant cette fonction n'est observable qu'avant ou après un appel à la fonction empiler() car, entre les instructions d'incrémentation et d'affectation, la cellule numéro compteur du tableau vect[] n'est pas affectée et contient... une valeur aléatoire (une mémoire est rarement vide).

États que peut prendre un processus sous la forme d'un diagramme états-transitions où les flèches sont les transitions autorisées.
Diagramme état-transition plus complexe suivi par les processus des systèmes d'exploitation modernes

États standards

[modifier | modifier le code]

Ces états existent dans la plupart des systèmes d'exploitation :

  • Initialisation (en anglais, created ou new) :
C'est le premier état d'un processus. Il y attend que l'ordonnanceur le place dans l'état prêt, ce qui peut prendre plus ou moins longtemps. Généralement, dans les ordinateurs de bureau, cela est automatique ; dans un système d'exploitation temps réel, cette admission peut-être reportée. En effet, dans de tels systèmes, trop de processus en attente peuvent amener à une saturation, notamment des bus, entraînant l'incapacité du système à tenir les délais.
  • Prêt ou En attente (en anglais, ready ou runnable) :
Dans cet état, le processus a été chargé en mémoire centrale et attend son exécution sur le processeur, c'est-à-dire une commutation de contexte provoquée par l'ordonnanceur.
Il peut y avoir beaucoup de processus en attente car, sur un ordinateur équipé d'un seul processeur, les processus doivent passer un par un. Les processus disponibles sont rangés dans une file ; les autres, ceux qui attendent quelque chose (données provenant du disque dur, une connexion internet, etc.) ne sont pas pris en compte. Cette file d'attente (ready queue) est gérée par l'ordonnanceur.
  • Élu ou Exécution (en anglais, running) :
Le processus est en cours d'exécution par le processeur.
  • Endormi ou Bloqué (en anglais, blocked ou waiting) :
Le processus a été interrompu ou attend un événement (la fin d'une opération d'entrée/sortie, un signal, ...).
  • Terminé (en anglais, terminated) :
Le processus est terminé, c'est-à-dire soit le résultat est connu, soit le programme a été forcé de s'arrêter.

États particuliers

[modifier | modifier le code]

Selon les systèmes d'exploitation, ces différents états peuvent aussi être possibles :

  • Zombie :
Si un processus terminé ne peut pas être déchargé de la mémoire, par exemple parce que son processus parent n'a pas récupéré son signal de terminaison, il passe dans un état appelé zombie.
  • Swappé :
Lorsqu'un processus est transféré de la mémoire centrale dans la mémoire virtuelle, il est dit « swappé ». Un processus swappé peut être dans un état endormi ou prêt.
  • Préempté :
L'ordonnanceur a décidé de suspendre l'activité d'un processus. Par exemple, un processus qui consomme trop de temps CPU finira par être préempté. Un ordonnanceur préemptif utilise aussi l'indice de priorité (nice) pour décider le processus qui sera préempté.
  • Exécution en espace utilisateur :
L'exécution a lieu dans un espace limité : seules certaines instructions sont disponibles.
  • Exécution en espace noyau :
Par opposition au mode utilisateur, l'exécution du processus n'est pas limitée. Par exemple, un processus dans cet état peut aller lire dans la mémoire d'un autre.

Historique

[modifier | modifier le code]
Cette section est vide, insuffisamment détaillée ou incomplète. Votre aide est la bienvenue ! Comment faire ?

Voir aussi

[modifier | modifier le code]

Articles connexes

[modifier | modifier le code]
  • Multitâches
  • Ordonnancement dans les systèmes d'exploitation
  • Supervision / Surveillance (informatique)
  • Zombie
  • Short Remaining Time

Liens externes

[modifier | modifier le code]
  • Table des processus (process table)

Références

[modifier | modifier le code]
  1. ↑ Pro Windows PowerShell, Hristo Deshev
  2. ↑ CIM_Process
  3. ↑ z/OS Management Instrumentation for CIM
  4. ↑ Class CIM_UnixProcess
v · m
Programme informatique
Compilation
  • Analyse lexicale
  • Analyse syntaxique
  • Assemblage
  • Fichier objet
  • Code source
  • Compilateur
  • Décompilateur
  • Édition de liens
  • Identificateur
  • Moteur de production
  • Précompilateur
  • Préprocesseur
Exécution
  • Configuration
  • Interprète
  • Machine virtuelle
  • Offset
  • Portabilité
  • Processus
  • Point d'arrêt
  • Thread
  • Segmentation
Bug
  • Débogueur
  • Dépassement d'entier
  • Soupassement arithmétique
  • Dépassement de pile
  • Dépassement de tampon
  • Dépassement de tas
  • Effet de bord
  • Erreur de segmentation
  • Exception
  • Fuite de mémoire
  • Plantage
  • Test
  • Catégorie
    • Compilateur
    • Bug
v · m
Noyau de système d'exploitation
Noyaux courants
  • Linux
  • Windows NT
  • XNU
Autres noyaux
  • Accent
  • BSD
  • GNU Mach
  • Linux-libre
  • L4
  • Mach
Multitâche
  • Communication inter-processus
  • Commutation de contexte
  • Ordonnancement
  • Processus
  • Temps partagé
  • Thread (et Thread Local Storage)
  • Fibre (ou Coroutine)
Matériel
  • Entrées-sorties
  • Interruption
  • Interruption matérielle
  • Pilote
Mémoire
  • Paginée
  • Étendue
  • Virtuelle
  • Vive
  • Espace d'échange
  • Unité de gestion mémoire
Technique
  • Appel système
  • Verrou global du noyau
  • Espace noyau
  • Espace utilisateur
  • Liste des noyaux de systèmes d'exploitation
  • Catégorie:Noyau de système d’exploitation
  • icône décorative Portail de l’informatique
  • icône décorative Portail de la programmation informatique
Ce document provient de « https://fr.teknopedia.teknokrat.ac.id/w/index.php?title=Processus_(informatique)&oldid=220269381 ».
Catégories :
  • Ordonnanceur
  • Programmation concurrente
  • Terminologie de l'informatique
Catégories cachées :
  • Article avec une section vide ou incomplète
  • Portail:Informatique/Articles liés
  • Portail:Technologies/Articles liés
  • Portail:Programmation informatique/Articles liés

  • indonesia
  • Polski
  • الرية
  • Deutsch
  • English
  • Español
  • Français
  • Italiano
  • مصر
  • Nederlands
  • 本語
  • Português
  • Sinugboanong Binisaya
  • Svenska
  • Українска
  • Tiếng Việt
  • Winaray
  • 中文
  • Русски
Sunting pranala
Pusat Layanan

UNIVERSITAS TEKNOKRAT INDONESIA | ASEAN's Best Private University
Jl. ZA. Pagar Alam No.9 -11, Labuhan Ratu, Kec. Kedaton, Kota Bandar Lampung, Lampung 35132
Phone: (0721) 702022
Email: pmb@teknokrat.ac.id