Provided by:
manpages-ja-dev_0.5.0.0.20060115-1_all 
SMP意
CLOCK_PROCESS_CPUTIME_ID と CLOCK_THREAD_CPUTIME_ID クロックは、CPU
からのタイマ (i386 上の TSC、Itanium 上の AR.ITC)
を用いて実現されている。 これらのレジスタは CPU 間で異なる可能世あり、
プロセスが他の CPU に移動させられた場合、
結果としてこれらのクロック (bogus results)
を返すかもしれない。
SMP システムの各 CPU が別々のクロック源を持つ場合、
タイマレジスタ間の相互関係を管理する方法はない。 これは各 CPU
が微妙に異なる周波数で動作するためである。 これが真実の場合 (訳註: 各
CPU が別々のクロック源を持つ場合)、 clock_getcpuclockid(0) は ENOENT
を返して、その状況を表す。 2 つのクロックは、プロセスが特定の CPU
上に留まっていることが 保証でい訃豺腓砲里瀝効である。
SMP システムの各プロセッサは全く同じ時刻に起動する訳ではないので、
各タイマレジスタは通常はあるオフセットで動作している。
オフセットをブート時に制限するコードが含まれるアーゥ謄チャもある。
しかし、このコードがオフセットを正確に調整することは保証でい覆ぁ glibc
は (Linux カーネルとは異なり)
オフセットを扱うためのコードを提供しない。
通常はこれらのオフセットが小さいので、多くの場合でその影響は無視でい襦
これらの関数が利用可能な POSIX システムでは、<unistd.h>
においてシンボル _POSIX_TIMERS が 0 より大いっ佑膨蟲舛気譴討い襦
シンボル _POSIX_MONOTONIC_CLOCK, _POSIX_CPUTIME, _POSIX_THREAD_CPUTIME
は CLOCK_MONOTONIC, CLOCK_PROCESS_CPUTIME_ID, CLOCK_THREAD_CPUTIME_ID
が利用可能なことを示す。 (sysconf(3) も参照すること。)
拠
SUSv2, POSIX 1003.1-2001.
目
date(1), adjtimex(2), gettimeofday(2), settimeofday(2), time(2),
ctime(3), ftime(3), sysconf(3)
2003-08-24 CLOCK_GETRES(3)