I processi di sospensione ottengono lo stesso tempo della CPU?


11

Alcuni processi trascorrono la maggior parte delle loro "vite" in uno sleepstato. Demoni, server e ascoltatori generali vengono in mente. Mi chiedevo se ottengono lo stesso tempo di CPU in quello stato? Su qualcosa come il mio laptop, non sarebbe molto ottimale!

Ricordo vagamente dal corso del mio sistema operativo che esistono diversi approcci alla pianificazione. Sono interessato a saperne di più sul mio attuale box Linux (Debian).

Come posso conoscere le mie attuali politiche di pianificazione? Posso cambiarli in modo dinamico? Con una bella app userland?

Risposte:


15

I processi non consumano risorse della CPU mentre sono inattivi. Potrebbero aggiungere un po 'di sovraccarico poiché il kernel deve destreggiarli, ma questo è molto insignificante.

Tuttavia, a causa del modo in cui è formulata la domanda, dovrei menzionare che quando si utilizza il CFS (Completely Fair Scheduler) di Linux, tenta di dare ai programmi un aumento del tempo della CPU in proporzione al tempo che dorme, cioè se un processo dorme molto , quando viene ripreso, ottiene una priorità più elevata.

Vedi http://www.ibm.com/developerworks/linux/library/l-completely-fair-scheduler/ per una descrizione di CFS.


2
Voglio votare questa risposta, ma il tuo attuale punteggio rep (6.666) è troppo bello per cambiare. Ah bene, lo sto facendo comunque ...
Rahmu,

2
@rahmu noooo! I miei bei sei etero! Devo solo arrivare a sette adesso.
Shawn J. Goff,

4

Per definizione, un processo di sospensione non sta eseguendo sulla CPU, quindi ovviamente la quantità di tempo della CPU che sta usando è zero.


Se questo è vero, come fa la macchina a sapere quando il tempo di spegnimento è completo e che dovrebbe riavviare l'esecuzione?
Dave Goldsmith,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.