Os processos de suspensão obtêm o mesmo tempo de CPU?

11

Alguns processos passam a maior parte de suas "vidas" em um sleepstatus. Daemons, servidores e ouvintes em geral vêm à mente. Eu queria saber se eles recebem o mesmo tempo de CPU nesse estado? Em algo como o meu laptop, isso não seria ótimo!

Lembro-me vagamente do meu curso de sistema operacional que existem diferentes abordagens para agendamento. Estou interessado em descobrir mais sobre minha atual caixa Linux (Debian).

Como posso saber sobre minhas políticas de agendamento atuais? Posso alterá-los dinamicamente? Com um aplicativo bonito da terra do usuário?

rahmu
fonte

Respostas:

15

Os processos não consomem recursos da CPU enquanto estão dormindo. Eles podem adicionar alguma sobrecarga, já que o Kernel precisa manipulá-los, mas isso é muito insignificante.

No entanto, devido ao modo como a pergunta é formulada, devo mencionar que, ao usar o CFS (Completely Fair Scheduler) do Linux, ele tenta conceder aos programas maior tempo de CPU na proporção do tempo que dorme - ou seja, se um processo dorme muito , quando retomado, obtém uma prioridade mais alta.

Consulte http://www.ibm.com/developerworks/linux/library/l-completely-fair-scheduler/ para obter uma descrição do CFS.

Shawn J. Goff
fonte
2
Quero votar nesta resposta, mas sua pontuação atual (6.666) é muito bonita para mudar. Ah, bem, eu estou fazendo isso de qualquer maneira ...
rahmu 19/10/11
2
@rahmu noooo! Meus lindos seis em linha reta! Agora vou ter que chegar aos setes agora.
perfil completo de Shawn J. Goff
4

Por definição, um processo inativo não está sendo executado na CPU, portanto, obviamente, a quantidade de tempo que ela está usando é zero.

psusi
fonte
Se isso for verdade, como a máquina sabe quando o tempo de suspensão está completo e que deve reiniciar a execução?
Dave Goldsmith