Il a toujours été connu que les opérations sur disque sont lentes et nous connaissons les raisons pour lesquelles elles sont lentes. La question ici est donc de savoir pourquoi devons-nous attendre les E / S ou pourquoi existe-t-il une chose telle que IOWait, etc.?
Je veux dire que j'ai remarqué que lorsque vous effectuez des tâches d'E / S en arrière-plan, votre ordinateur devient beaucoup plus lent, j'ai particulièrement remarqué que lorsque vous utilisez Linux, si vous effectuez des tâches d'E / S plus longues , le système d'exploitation devient presque inutilisable jusqu'à ce qu'ils soient terminés.
En effet, j'ai également trouvé ce sujet dans un article, il y a un extrait:
L'attente des E / S est de 12,1%. Ce serveur possède 8 cœurs (via cat / proc / cpuinfo). Ceci est très proche de (1/8 cœurs = 0,125)
Donc, fondamentalement, cela signifie qu'il ralentit beaucoup l'ordinateur, pourquoi? Je veux dire OK, maintenant l'ordinateur normal est au moins 2 cœurs, parfois 4 ou parfois ils en ont plus à cause de l'hyperthreading ou quelque chose comme ça. Mais maintenant, la question est de savoir pourquoi le processeur doit en fait rester là, ne faisant pratiquement rien d'autre que d'attendre les E / S? Je veux dire l'idée de base ou l'architecture de la gestion des processus, maintenant je ne sais pas si c'est le système d'exploitation qui est responsable de cela, ou est-ce que cela se résume à la partie matérielle, mais cela devrait être possible pour le processeur d'attendre ou de vérifiez régulièrement, tout en effectuant de nombreuses autres tâches et en ne retournant au processus d'E / S que lorsqu'il est prêt. En effet, si c'est une tâche si difficile et que le processeur doit attendre, pourquoi n'est-ce pas? t que géré par le matériel plus efficacement alors? Par exemple, il pourrait y avoir une sorte de mini processeur qui l'attendrait et fournirait la petite partie des données au processeur réel dès qu'il reviendrait au processus et donc le processus serait répété et nous n'aurions pas de consacrer pratiquement tout un cœur de processeur au processus de copie de données ... Ou serais-je celui qui devrait inventer ce genre de choses et obtenir un prix Nobel pour cela? : S
Maintenant d'accord, je le mets vraiment du point de vue des observateurs et je ne suis pas vraiment allé aussi loin dans le sujet, mais je ne comprends vraiment pas pourquoi le processeur doit fonctionner avec la vitesse du disque dur, alors qu'il pourrait simplement faites autre chose et revenez au disque dur une fois qu'il est prêt. L'idée n'est pas d'accélérer l'application qui a besoin de cette opération d'E / S ou du processus de copie ou autre, mais l'idée est d'affecter de manière minimale la consommation du processeur tout en effectuant cette opération, afin que le système d'exploitation puisse l'utiliser pour d'autres processus et l'utilisateur. n'aurait pas à ressentir un décalage informatique général lors de certaines opérations de copie ...