Onde uma chamada ao sistema de bloqueio aparece nas leituras da CPU?

0

Do usuário, sistema e leituras ociosas fornecidas por "top", o que refletiria o tempo gasto em uma chamada de sistema de bloqueio?

Eu li que as chamadas de disco de i / o de bloqueio são refletidas como tempo ocioso, mas não para bloqueio de chamadas de E / S de rede. Mas então onde?

    
por user1715587 19.04.2017 / 21:13

2 respostas

0

O tempo de CPU não é gasto enquanto o código espera que algum evento ocorra, assim como ocorre com as E / Ss, uma chamada de sistema de rede de bloqueio é essencialmente tempo ocioso.

    
por 19.04.2017 / 21:57
0

Ele é mostrado como wait ( wa ) em top . Isso não reflete o tempo de espera envolvido, mas o esforço da CPU para lidar com a operação.

Se um processo lesse um arquivo grande de um disco lento, o planejador do kernel teria que atribuir CPU com mais frequência para lidar com a operação de E / S e, portanto, também desperdiçaria tempo do planejador para lidar com ele.

Infelizmente, mesmo os desenvolvedores do kernel não podem dar uma resposta mais direta, porque o tempo real de espera não requer CPU, mas lidar com isso não é necessário.

    
por 19.04.2017 / 22:20