Il existe une relation multiple entre processus et programme, ce qui signifie qu'un programme peut invoquer plusieurs processus ou, en d'autres termes, plusieurs processus peuvent faire partie du même programme.
Tableau de comparaison
Base de comparaison | Programme | Processus |
---|---|---|
De base | Le programme est un ensemble d'instructions. | Lorsqu'un programme est exécuté, il est appelé processus. |
La nature | Passif | actif |
Durée de vie | Plus long | Limité |
Ressources requises | Le programme est stocké sur le disque dans certains fichiers et ne nécessite aucune autre ressource. | Process contient les ressources telles que le processeur, l'adresse de mémoire, le disque, les E / S, etc. |
Définition du programme
Un programme, en termes simples, peut être considéré comme une activité système. Dans le système de traitement par lots, ces tâches sont appelées tâches d'exécution, tandis que dans un système d'exploitation temps réel, elles sont appelées tâches ou programmes. Un utilisateur peut exécuter plusieurs programmes dans lesquels le système d'exploitation facilite ses propres activités programmées internes, telles que la gestion de la mémoire, à l'aide de certaines techniques.
Un programme est une entité passive, par exemple un fichier contenant un groupe d’instructions à exécuter (fichier exécutable). Il s'appelle ainsi parce qu'il n'effectue aucune action par lui-même, il doit être exécuté pour réaliser les actions qui y sont spécifiées.
L'espace d'adressage d'un programme est composé de l'instruction, des données et de la pile. Supposons que P soit le programme que nous écrivons pour réaliser l'exécution de P, le système d'exploitation alloue de la mémoire pour accueillir l'espace d'adressage de P.
Définition de processus
Un processus est une exécution d'un programme. Il est considéré comme une entité active et réalise les actions spécifiées dans un programme. Plusieurs processus peuvent être liés au même programme. Il gère les activités du système d'exploitation via un PCB (Process Control Block) qui comprend un compteur de programme, une pile, un état, etc. Le compteur de programme stocke la séquence d'instructions suivante à exécuter ultérieurement.
Des ressources telles que le traitement, la mémoire et les ressources d'E / S sont nécessaires pour accomplir les tâches de gestion. Lors de l'exécution d'un programme, il peut engager une opération de processeur ou d'E / S qui différencie un processus d'un programme.
Laissez-nous comprendre cela à partir d'un exemple; nous écrivons un programme en C. Lors de l'écriture et du stockage d'un programme dans un fichier, il ne s'agit que d'un script qui n'effectue aucune action, mais lorsqu'il est exécuté, il se transforme en processus, d'où il résulte que le processus est de nature dynamique. Le partage de ressources entre plusieurs processus est utilisé par les machines actuelles, mais en réalité, un seul processeur est réparti entre plusieurs processus.
Différences clés entre le programme et le processus
- Un programme est un groupe défini d' opérations ordonnées à exécuter. D'autre part, une instance d'un programme en cours d'exécution est un processus.
- La nature du programme est passive dans la mesure où il ne fait rien jusqu'à ce qu'il soit exécuté, alors qu'un processus est de nature dynamique ou active dans la mesure où il s'agit d'une instance d'exécution du programme et exécutant l'action spécifique.
- Un programme a une durée de vie plus longue car il est stocké dans la mémoire jusqu'à ce qu'il ne soit pas supprimé manuellement, alors qu'un processus a une durée de vie plus courte et limitée car il se termine après l'achèvement de la tâche.
- Le besoin en ressources est beaucoup plus élevé dans le cas d’un processus; il pourrait avoir besoin de traitement, de mémoire, de ressources d’E / S pour une exécution réussie. En revanche, un programme ne nécessite que de la mémoire pour le stockage.
Conclusion
Le programme et le processus sont pertinents mais dissemblables. Un programme est simplement un script stocké sur le disque ou semble constituer l'étape précédente du processus. Au contraire, le processus est un événement d'un programme en cours d'exécution.