Medição de tempo no kernel Linux: como estão relacionados clock_gettime, gettimeofday e getrusage?

2

Estou tentando entender como o tempo é medido pelo kernel do Linux. Eu tentei passar pelo código do kernel, mas sinto falta do quadro geral para entender o código que estou lendo, mesmo que isso artigo ajudou muito. Em particular, gostaria de entender como as seguintes funções estão relacionadas:

Minhas perguntas são:

  • Eles dependem um do outro? O gettimeofday foi implementado em termos de clock_gettime ou vice-versa? O getrusage foi implementado em termos de clock_gettime ou vice-versa?
  • Se eles dependem um do outro então, qual é o mais fundamental (nível inferior)?
  • Se eles não dependem um do outro, existe um mecanismo interno do qual todos eles dependem? Uma função de nível inferior do kernel que todos eles chamam?
  • Se eles não dependem uns dos outros e não há mecanismo subjacente comum, qual é a razão para isso?

Observação: links para o código do kernel do Linux são muito bem-vindos para ajudar para entender como tudo isso funciona.

    
por Vincent 24.07.2018 / 11:27

0 respostas