human
Comment un processus informatique hiérarchise-t-il les processus OS entrelacés ? Comment votre ordinateur détermine-t-il la priorité et la synchronisation des applications exécutées sur votre système d'exploitation ? S'agit-il du meilleur effort - si c'est le cas, comment détermine-t-il le « meilleur effort » ? Explique comme si j'avais cinq ans.
gpt
Il n'y a pas de meilleure réponse à cela : chaque système d'exploitation le fait un peu différemment. Vous pouvez en savoir plus sur l'algorithme utilisé dans le noyau Linux en recherchant Linux « Completely Fair Scheduler » (c'est le nom de l'algorithme, depuis 2010 environ). La théorie derrière cet algorithme est que vous avez deux types de processus de base : interactif et non interactif. Les processus interactifs sont des programmes que vous utilisez, comme votre navigateur Web, traitement de texte, etc. - ils sont normalement assis là à ne rien faire, jusqu'à ce que vous appuyiez sur une touche ou que vous cliquiez avec la souris, alors ils sont vraiment occupés. En revanche , d' autres programmes peuvent être occupés en arrière - plan , par exemple coder un DVD , sauvegarder votre disque dur et télécharger un torrent . Ces processus ne sont pas interactifs, leur but est de faire beaucoup de travail, pas d'être réactifs. Le "planificateur complètement équitable" fonctionne en donnant une priorité plus élevée aux tâches qui n'ont pas utilisé beaucoup de temps CPU récemment. Ainsi, cela rend automatiquement les processus interactifs plus réactifs - lorsqu'un programme ne fait rien pendant qu'il attend que vous appuyiez sur une touche, alors lorsque vous appuyez sur une touche, il devient le processus le plus prioritaire jusqu'à ce qu'il ait fini de traiter la touche. En revanche, un processus d'encodage de DVD vole tout le temps CPU inactif disponible, donc lorsque vous appuyez sur une touche de votre lecteur de courrier, le processus d'encodage de DVD devient temporairement une priorité beaucoup plus faible jusqu'à ce que votre lecteur de courrier soit terminé.