|
La différence entre un programme et un processus peut prêter à confusion, mais en voici une ventilation :
Programme :
* Définition : Un programme est un ensemble statique d'instructions ou une séquence d'instructions écrites dans un langage de programmation. Considérez-le comme une recette. Il s'agit d'un plan ou d'un schéma expliquant comment effectuer une tâche.
* Caractéristiques :
* Stocké sur un périphérique de stockage (par exemple, disque dur, SSD).
* Une entité passive (inactive). Il ne fait rien tout seul.
* Une collection de code, de données et de ressources (par exemple, des images, des fichiers de configuration) qui décrivent comment effectuer une tâche.
* Fichier exécutable (par exemple, .exe sous Windows, un exécutable sous Linux/macOS).
* Ne consomme pas de ressources système (CPU, mémoire) sauf en cours d'exécution.
* C'est l'idée conceptuelle/un ensemble d'instructions sur ce qu'il faut faire.
Processus :
* Définition : Un processus est une instance d'un programme en exécution . Considérez-le comme quelqu'un qui suit réellement la recette et cuisine. C'est l'entité active qui consomme du temps CPU et de la mémoire.
* Caractéristiques :
* Une entité active.
* Consomme des ressources système (CPU, mémoire, E/S).
* Possède son propre bloc de contrôle de processus (PCB), qui contient des informations telles que l'ID de processus (PID), le compteur de programme, les registres du processeur, les informations de gestion de la mémoire et l'état des E/S.
* Il a un état (par exemple, en cours d'exécution, prêt, en attente).
* Peut être créé, mis en pause, repris et terminé.
* Un programme peut avoir plusieurs processus exécutés simultanément.
* C'est l'exécution proprement dite des instructions définies dans le programme.
Analogie :
| Concepts | Analogie |
| ---------- | ---------- |
| Programme | Recette |
| Processus | Cuisine |
| Ingrédients | Données/Ressources |
Résumé des principales différences :
| Fonctionnalité | Programme | Processus |
| ------------- | ----------------------------------- | ------------------------------------------------ |
| Nature | Statique, passif | Dynamique, actif |
| Stockage | Stocké sur disque | Réside en mémoire (RAM) pendant l'exécution |
| Utilisation des ressources| Minimal jusqu'à son exécution | Consomme du CPU, de la mémoire, des E/S |
| Existence | Existe sous forme de fichier | Créé lors de l'exécution d'un programme |
| Nombre de cas | Un fichier | Un ou plusieurs processus peuvent être basés sur le même programme |
| PCB | Aucun bloc de contrôle de processus | Dispose d'un bloc de contrôle de processus |
Exemple :
* Programme : L'application du navigateur Web Chrome (le fichier « .exe », par exemple).
* Processus : Chaque instance en cours d'exécution de Chrome. Si vous ouvrez trois fenêtres Chrome, vous disposez probablement de trois processus Chrome distincts (bien que les navigateurs modernes utilisent souvent un modèle de processus plus complexe avec plusieurs processus, même dans une seule fenêtre).
En bref : Un programme est comme un plan, tandis qu'un processus est comme la construction réelle qui se déroule sur la base de ce plan. Vous pouvez avoir un seul programme (plan directeur), mais plusieurs processus (projets de construction) exécutés simultanément sur cette base.
|