O que significa o uso da CPU para um processo?

4

Suponha que o computador tenha um único núcleo - o que exatamente significa para o processo A estar a 100% da capacidade da CPU versus (digamos) 10% da capacidade da CPU.

Se a CPU fosse de 2,0 GHz, isso significa em um intervalo de tempo para o processo A, que o processador executava 2 bilhões de passos por segundo (se a 100%), mas executaria apenas 200 milhões de etapas? Limite de 10%)?

O que causaria o cenário de 100% contra o cenário de 10%?

    
por Dave Stibrany 14.11.2013 / 19:51

1 resposta

7

O uso da CPU é calculado pelo programa / agendador de tarefas do sistema operacional. De fato, se um uso da CPU é de 10%, isso indica que a tarefa está sendo executada ativamente por 10% dos períodos de unidade do planejador de tarefas; outros programas podem ser executados nos 90% restantes do tempo da CPU, ou o SO simplesmente ficará inativo. Da mesma forma, se o uso da CPU de total para todos programas for de 10%, isso indica que nenhum programa no sistema está sendo executado 90% do tempo.

Como nenhum programa é executado no "bare metal" em um sistema operacional multitarefa (como Windows ou Linux), o uso da CPU é uma medida da porcentagem que os ciclos da CPU dedicam à execução desse programa específico. É por isso que se você tem um loop infinito em um programa, mesmo que nenhum "trabalho" esteja sendo feito, o uso da CPU ainda se aproxima de 100% (como o programa está tentando usar cada período de programação oferecido pelo sistema operacional para executar algum código).

Embora os processos estejam sempre em execução, eles não usam 100% da CPU na maioria dos casos, pois um processo pode esperar que um determinado evento / interrupção ocorra ou tenha indicado para o sistema operacional suspender / dormir sua operação por um curto período de tempo.

    
por 14.11.2013 / 19:55