Quelle est la différence entre une application, un processus et des services?

47

Comment sont ces "choses" fondamentalement différentes sur Windows?

Les processus en cours ne sont-ils pas tous en cours d'exécution?

Il semble que chaque application ait un processus associé qui la ferme si elle est fermée. Un processus peut gérer plus d'une instance d'application, cela ressemble à. Et les services, je ne suis même pas sûr de ce qu’ils sont exactement.

Ne sont-ils pas des processus eux-mêmes?

Justin L.
la source

Réponses:

71

Des processus sont associés aux applications et aux services.

Une application est un programme avec lequel vous interagissez sur le bureau . C'est ce que vous passez presque tout votre temps à utiliser sur l'ordinateur. Internet Explorer, Microsoft Word, iTunes, Skype - ce sont toutes des applications.

Un processus est une instance d'un exécutable particulier ( .exefichier programme) en cours d'exécution. Une application donnée peut avoir plusieurs processus en cours d'exécution simultanément. Par exemple, certains navigateurs modernes tels que Google Chrome exécutent plusieurs processus à la fois, chaque onglet étant en fait une instance / un processus distinct du même exécutable. Dans certains cas, les applications compliquées peuvent avoir plusieurs processus. Par exemple, Visual Studio exécute un processus distinct lorsqu'il compile du code lorsqu'il affiche l'EDI. Cependant, le plus souvent, une application donnée est exécutée à partir d'un seul processus; Par exemple, quel que soit le nombre de fenêtres Microsoft Word ouvertes, une seule instance de celle-ci winword.exeest en cours d'exécution.

Un service est un processus qui s'exécute en arrière-plan et n'interagit pas avec le bureau. Sous Windows, les services s'exécutent presque toujours en tant qu'instance du svchost.exeprocessus, le processus hôte du service Windows; Cependant, il y a parfois des exceptions à cela.

Parfois, les processus peuvent s'exécuter en arrière-plan sans interaction avec le bureau, mais sans être installés en tant que service. C'est ce que font beaucoup de pilotes de périphérique dotés de fonctionnalités améliorées. Par exemple, un pilote de pavé tactile aura généralement un processus qui s'exécutera lorsqu'un utilisateur se connectera et gérera les fonctionnalités spéciales du pavé tactile, mais ne sera pas un service et ne montrera aucune fenêtre à l'utilisateur.

Parfois, une application peut dépendre d'un service donné. Pour imprimer à partir de n’importe quel programme, le service de spouleur d’impression doit être actif. Les packages d'installation ( .msiinstallateurs) nécessitent que le service d'installation Windows soit en cours d'exécution. Les programmes antivirus utilisent généralement un service pour pouvoir continuer à s'exécuter même lorsque l'utilisateur n'est pas connecté.

Les processus se terminent généralement quand une application est fermée, mais ce n'est pas toujours le cas. Certains programmes, en particulier les programmes de téléchargement et de sauvegarde, peuvent continuer à s'exécuter en arrière-plan sans afficher de fenêtre. L'antivirus en est également un exemple: outre l'utilisation d'un service, de nombreuses applications antivirus exécutent un processus en arrière-plan en mode silencieux, qui affiche uniquement une application pour l'utilisateur lorsqu'une action est requise.

ne pas penser
la source
4
Alors quelle est la différence entre un processus silencieux et un service Windows? Désolé je suis nouveau!
Subin Jacob
1
Un service aura plus de droits qu'un processus normal car il s'exécute comme un processus Windows et non comme un processus utilisateur.
Gilles Lesire
9

Les applications et les services sont des processus. Les applications sont conçues pour interagir avec un seul utilisateur, alors que les services fonctionnent sur le système, mais n'interagissent pas directement avec les utilisateurs.

Ignacio Vazquez-Abrams
la source
La plupart des services Windows fonctionnent en tant que svchost.exe, mais je n'ai pas vu beaucoup de services non-Windows le faire. Il convient de noter que l’Explorateur de processus de Sysinternal peut être utilisé pour déterminer quels services de la console Services MMC sont hébergés par un utilisateur spécifique svchost.exe.
LawrenceC
1

Un service est généralement une application d'arrière-plan qui s'exécute au démarrage de Windows. généralement, il exécute une tâche que les applications installées ou que Windows utilise elle-même.

Une application autonome est juste un programme normal (a.exe). Stand alone fait généralement référence à un seul exécutable pouvant être exécuté par lui-même.

Les programmes plus volumineux tels que Word nécessitent de nombreux fichiers différents pour s'exécuter.

Enamul Kabir
la source