Quelle est la différence entre thread, processus et programme?

Meilleure réponse

Programme , Process et Threads sont trois concepts de base des systèmes dexploitation que tout ingénieur en informatique doit maîtriser . Ici, je vais vous expliquer en quoi consiste chacun deux et en quoi ils diffèrent les uns des autres.

Quest-ce quun programme?

Le programme est un fichier exécutable contenant lensemble des instructions écrites pour effectuer un travail spécifique sur votre ordinateur. Par exemple, notepad.exe est un fichier exécutable contenant lensemble des instructions qui nous aident à éditer et imprimer les fichiers texte.

Programmes ne sont pas stockés sur la mémoire principale de votre ordinateur. Ils sont stockés sur un disque ou une mémoire secondaire sur votre ordinateur. Ils sont lus dans la mémoire primaire et exécutés par le noyau. Un programme est parfois appelé entité passive car il réside sur une mémoire secondaire.

Quest-ce quun processus?

Le processus est une instance dexécution dun programme. Par exemple, lorsque vous double-cliquez sur une icône de bloc-notes sur votre ordinateur, un processus est lancé qui exécutera le programme de bloc-notes.

Un processus est parfois appelé entité active car elle réside sur la mémoire principale et quitte la mémoire si le système est redémarré. Plusieurs processus peuvent être liés au même programme. Par exemple, vous pouvez exécuter plusieurs instances dun programme de bloc-notes. Chaque instance est appelée processus.

Quest-ce quun fil ?

Thread est la plus petite unité exécutable dun processus. Par exemple, lorsque vous exécutez un programme de bloc-notes, le système dexploitation crée un processus et démarre lexécution du thread principal de ce processus.

Un processus peut avoir plusieurs threads. Chaque thread aura sa propre tâche et son propre chemin dexécution dans un processus. Par exemple, dans un programme de bloc-notes, un thread prendra les entrées de lutilisateur et un autre thread imprimera un document.

Tous les threads du même processus partagent la mémoire de ce processus. Comme les threads du même processus partagent la même mémoire, la communication entre les threads est rapide.

En résumé…

Jespère que maintenant, vous êtes clair avec les différences entre programme, processus et thread et avez également découvert la relation entre eux… Sinon, découvrez ci-dessous.

Le programme est un super ensemble de processus, alors que, processus est un super ensemble de fils.

Appréciez lapprentissage !!!

Image courtoisie: www.google.com

Réponse

  1. Programme : Le programme nest rien dautre que lensemble de toutes les instructions qui nécessitent deffectuer un travail spécifique.Avant dêtre exécuté, ils doivent être convertis en codes binaires qui doivent être compris par loader os OS.Généralement sous Windows, il comme le fichier EXE qui est stocké dans Portable Executable (PE) Format sur la mémoire secondaire Comme le disque dur. Un processus est généralement défini comme une instance dun programme en cours dexécution et se compose de deux composants: 1) Un objet noyau que le système dexploitation utilise pour gérer le processus. Lobjet noyau est également lendroit où le système conserve des informations statistiques sur le processus. 2) Un espace dadressage contenant tout le code et les données de lexécutable ou du module DLL. Il contient également des allocations de mémoire dynamique telles que des piles de threads et des allocations de tas. Les processus sont inertes. Pour quun processus puisse accomplir quoi que ce soit, il doit avoir un thread qui sexécute dans son contexte, ce thread est chargé dexécuter le code contenu dans lespace dadressage du processus. En fait, un même processus peut contenir plusieurs threads, tous exécutant du code « simultanément » dans lespace dadressage du processus. Pour ce faire, chaque thread a son propre jeu de registres CPU et sa propre pile. Chaque processus a au moins un thread qui exécute le code dans lespace dadressage du processus. Sil ny avait pas de threads exécutant du code dans lespace dadressage du processus, il ny aurait aucune raison pour que le processus continue dexister, et le système détruirait automatiquement le processus et son espace dadressage.
  2. Process : Chaque processus fournit les ressources nécessaires pour exécuter un programme. Un processus dispose dun espace dadressage virtuel, dun code exécutable, de descripteurs ouverts aux objets système, dun contexte de sécurité, dun identificateur de processus, variables denvironnement, classe de priorité, tailles de jeu de travail minimale et maximale et au moins un thread dexécution. Chaque processus est démarré avec un thread unique, souvent appelé thread principal, mais peut créer des threads supplémentaires à partir de nimporte lequel de ses threads .
  3. Thread : un thread est une entité au sein dun processus dont lexécution peut être planifiée. Tous les threads dun processus partagent son espace dadressage virtuel et ses ressources système. De plus, chaque thread gère des gestionnaires dexceptions, une priorité de planification, un stockage local de thread, un identificateur de thread unique et un ensemble de structures que le système utilisera pour enregistrer le contexte de thread jusquà ce quil soit planifié. Le contexte de thread comprend lensemble des registres de machine du thread, la pile du noyau, un bloc denvironnement de thread et une pile utilisateur dans lespace dadressage du processus du thread. Les threads peuvent également avoir leur propre contexte de sécurité, qui peut être utilisé pour usurper lidentité des clients.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *