Les processus en veille ont-ils le même temps processeur?

11

Certains processus passent la majeure partie de leur «vie» dans un sleepstatut. Les démons, les serveurs et l'auditeur général viennent à l'esprit. Je me demandais s'ils obtiennent le même temps CPU dans cet état? Sur quelque chose comme mon ordinateur portable, ce ne serait pas très optimal!

Je me souviens vaguement de mon cours sur le système d'exploitation qu'il existe différentes approches de planification. Je souhaite en savoir plus sur ma boîte Linux (Debian) actuelle.

Comment puis-je connaître mes politiques de planification actuelles? Puis-je les changer dynamiquement? Avec une jolie application utilisateur?

rahmu
la source

Réponses:

15

Les processus ne consomment pas de ressources CPU pendant leur sommeil. Ils peuvent ajouter des frais généraux puisque le noyau doit les jongler, mais c'est très insignifiant.

Cependant, en raison de la façon dont la question est formulée, je dois mentionner que lors de l'utilisation du CFS (Completely Fair Scheduler) de Linux, il tente de donner aux programmes une augmentation du temps CPU proportionnelle au temps de sommeil - c'est-à-dire, si un processus dort beaucoup , lorsqu'elle reprend, elle obtient une priorité plus élevée.

Voir http://www.ibm.com/developerworks/linux/library/l-completely-fair-scheduler/ pour une description de CFS.

Shawn J. Goff
la source
2
Je veux voter pour cette réponse, mais votre score actuel de représentant (6 666) est trop joli pour changer. Ah bien, je le fais quand même ...
rahmu
2
@rahmu noooo! Mes belles six droites! Je vais devoir aller à sept maintenant.
Shawn J. Goff,
4

Par définition, un processus de veille ne s'exécute pas sur le processeur, donc la quantité de temps processeur qu'il utilise est évidemment nulle.

psusi
la source
Si tel est le cas, comment la machine sait-elle que le temps de veille est terminé et qu'elle doit redémarrer l'exécution?
Dave Goldsmith