TIME(9)

명칭
boottime, mono_time, runtime, time - 시스템 시각 변수

서식
extern struct timeval boottime;
extern volatile struct timeval mono_time;
extern struct timeval runtime;
extern struct timeval time;

해설
time 변수는 시스템의 “기둥 시각” 클락입니다. 이것은 부트시에 inittodr(9) 에 의해 설정되어 settimeofday(2) 시스템 콜과 주기적인 클락 세치기에 의해 갱신됩니다.

boottime 변수는 시스템의 부트 시각을 보관 유지합니다. 이것은 시스템 부트시에 time (으)로부터 설정되어 시스템 시각이 settimeofday(2) (을)를 사용해 조정되었을 때에 갱신됩니다.

runtime 변수는 시스템이 현재의 프로세스에 스윗치 했을 때 각을 보관 유지합니다. 이것은 개개의 콘텍스트 스위칭의 뒤로 설정되어 시스템 시각이 settimeofday(2) (을)를 사용해 조정되었을 때에 갱신됩니다. runtime (은)는 시스템의 어카운팅을 위해서(때문에) 사용되고 있으므로, time (으)로부터 카피되는 것이 아니라, 고분해가능인 microtime(9) 함수를 사용해 설정됩니다.

mono_time 변수는 단조롭게 증가하는 시스템 클록입니다. 이것은 부트시에 time (으)로부터 설정되어 주기적인 타이머 세치기에 의해 갱신됩니다. ((settimeofday) 2 에 의해 갱신되지 않습니다. )

이러한 변수의 모두는, 1970 년 1 월 1 일의 심야 (0 시)부터 경과한 시간을, 초 및 마이크로 세컨드로 표현하고 있습니다.

time 또는 mono_time 의 독 붐비어 또는 기록시에는, 클락 세치기는 블록 되어야 합니다. 왜냐하면 , 이러한 변수는 hardclock() 에 의해 갱신되기 때문입니다. gettime(9) 함수는 불가분인 방법으로 time 변수를 읽어내기 위해서(때문에) 사용할 수가 있습니다. mono_time 에 액세스하기 위한 동등의 함수는 없습니다. boottime 및 runtime 변수는 특별한 경계없이 읽고 쓰기할 수가 있습니다.

gettime(9) 및 microtime(9) 에 의해 돌려주어질 때 각치는 갱신 방법이 다르기 때문에, 이 2 개(살)의 routine의 결과를 비교하면(자), 시간이 퇴보하는 것 같은 결과가 될지도 모르는 것에 주의해 주세요. 이 문제는, 한편의 함수 또는 이제(벌써) 한편의 함수를 문맥중에서 시종 일관 해 사용하는 것으로써, 피할 수가 있습니다.

관련 항목
settimeofday(2), gettime(9), inittodr(9), microtime(9)

버그
멀티 프로세서 시스템에 대해 단일의 runtime 변수를 갖는다고 하는 생각은 분명하게 적절하지는 않습니다.