human
svchost.exe Pourquoi ce processus devient-il si important avec le temps ? J'ai une compréhension assez vague de ce qu'il fait, mais existe-t-il un moyen de réduire son utilisation de la mémoire sans reformater mon ordinateur/désactiver les services Windows essentiels ? Explique comme si j'avais cinq ans.
gpt
Vraiment, c'est parce qu'il y a tellement de code que les ordinateurs doivent suivre. Microsoft fait un tas de code pour s'exécuter sur les ordinateurs. Une partie de ce code doit s'exécuter en tant que super-utilisateur, car il doit utiliser des éléments qui ne peuvent pas être utilisés directement par des programmes qui ne sont pas tout-puissants. Exemples : Lorsque vous utilisez 'Hibernate', l'ordinateur doit lire toute la mémoire (qui est perdue lorsque votre ordinateur s'éteint) et l'enregistrer sur le disque dur (qui ne l'est pas). S'il ne le faisait pas , il oublierait tout ce qu'il faisait , ce qui rendrait ' Hibernate ' inutile . Mais si n'importe quel programme pouvait lire ce que faisait n'importe quel autre programme, il pourrait voir des secrets que votre ordinateur est censé garder. C'est pourquoi les programmes non super ne peuvent pas voir ce que font les autres programmes. Cependant , parfois , des programmes unsuper ont besoin d' avoir un certain contrôle sur ce genre de choses . Par exemple , vous pourriez vouloir qu'un programme unsuper puisse mettre votre ordinateur en hibernation . Une solution consisterait à exécuter tous les programmes en tant que super-utilisateur. Le problème avec ceci est que même si un seul programme est mal écrit ou mal écrit, cela pourrait casser tout votre ordinateur, ou pire, voler toutes les informations sur votre ordinateur et les envoyer aux méchants. Il existe une meilleure solution : L' * * interruption logicielle * * . Normalement, les interruptions sont un moyen pour les autres parties de l'ordinateur d'attirer l'attention de la partie pensante. Comme "Hé ! Écoutez ! Ce fichier est fini de copier !" Mais une interruption logicielle ressemble plus à "Hé ! Écoutez ! Je ne peux pas faire ça moi-même !" Laissez-moi vous donner un exemple. Supposons que vous vouliez faire un gâteau. Vous mettez tous les ingrédients ensemble et mélangez. Mais vous avez un problème. Vous n'êtes pas autorisé à allumer le four. Alors tu appelles maman et tu lui demandes d'allumer le four pour toi. De cette façon , nous pouvons nous assurer que le four n'est pas réglé sur une température trop élevée et qu'il ne reste pas allumé . Donc , c'est un problème résolu . Mais que se passe-t-il si Microsoft fait du code qui est utile, mais n'a pas besoin d'être exécuté en tant que super-utilisateur ? Par exemple, le batteur électrique que vous avez utilisé pour faire le gâteau. Une façon pour Microsoft d'envoyer le code aux personnes qui créent des programmes non supers afin qu'ils puissent l'inclure. Il y a un problème avec ça cependant. Ce serait comme si vous aviez besoin d'un mixeur différent pour chaque recette. Cela pose deux problèmes. Tout d'abord, nous n'avons pas assez d'espace dans notre cuisine pour autant de mélangeurs. Deuxièmement, disons que Microsoft fait une erreur lorsqu'ils fabriquent le mélangeur, et il s'avère que tous les mélangeurs prennent feu lorsque vous tournez le mélangeur à pleine vitesse. Les mélangeurs doivent être fixés un par un. S'il n'y avait qu'un mélangeur, il n'aurait besoin d'être réparé qu'une seule fois. Au lieu que chaque recette inclue un mixeur, Microsoft nous envoie un mixeur avec notre cuisine, et les recettes disent simplement « mixeur ». Le mot « mixeur » prend beaucoup moins de place qu'un mixeur réel. De plus, s'il y a un problème avec le mélangeur, il n'a besoin d'être réparé qu'une seule fois. Un groupe de gens intelligents de Microsoft s'est assis autour d'une grande table et a inventé une nouvelle façon de garder une trace du code. Cette façon de garder une trace du code s'appelle une " bibliothèque liée dynamiquement " , ou DLL . Lié dynamiquement signifie simplement qu'il recherche le mélangeur lorsque vous faites la recette, au lieu d'être inclus avec la recette. Cela a l'avantage d'éviter le problème des mélangeurs multiples dont nous venons de parler, mais a l'inconvénient que vous ne pouvez pas utiliser leur recette si vous n'avez pas de mélangeur. Cependant , le problème avec les DLL est que vous ne pouvez pas les exécuter directement . Un programme peut " appeler " un morceau de code qu'il contient , mais parce qu'une DLL contient tellement de morceaux de code , si vous l' exécutiez directement , l' ordinateur ne saurait pas lequel vous vouliez . Disons qu'un peu de code est utile à la fois par lui-même et lorsqu'il est appelé par un programme. Donc, vous écrivez un petit programme, qui trouve simplement votre DLL et y appelle une fonction. Fait . Mais vous avez un tas de ces petits programmes, et vous pouvez créer un programme plus compliqué pour remplacer tous vos petits programmes. Il accepte le nom de la DLL, et le nom du morceau de code. Vous appelez ce programme SVCHOST.EXE * * TL;DR : svchost.exe n'est pas un morceau de code spécifique. * * C'est un moyen général de * charger * du code. Hors de caractère : > J'ai une assez vague compréhension de ce qu'il fait, mais y a-t-il un moyen de diminuer son utilisation de la mémoire sans reformater mon ordinateur/désactiver les services Windows essentiels ? Probablement pas . Vous auriez à déterminer quelle DLL il exécute, ce qu'il fait, et même dans ce cas, il pourrait être essentiel à votre système. En outre, il se peut qu'il ne fasse pas partie de Windows, mais d'un programme que vous avez installé. Avez-vous essayé de l'éteindre et rallumer ?