.\" Updated 2012-05-29, Akihiro MOTOKI <amotoki@gmail.com>
.\" Updated 2013-05-06, Akihiro MOTOKI <amotoki@gmail.com>
.\"
-.TH CLOCK_GETRES 2 2013\-09\-04 "" "Linux Programmer's Manual"
+.TH CLOCK_GETRES 2 2013\-12\-28 "" "Linux Programmer's Manual"
.SH 名前
clock_getres, clock_gettime, clock_settime \- クロックと時間の関数
.SH 書式
\fBsettimeofday\fP(2) を使って時刻を変更した場合、時刻に不連続な変化が発生するからだ。
.TP
\fBCLOCK_PROCESS_CPUTIME_ID\fP (Linux 2.6.12 以降)
-CPU による高分解能のプロセス毎のタイマー。
+プロセス単位の CPU タイムクロック (そのプロセスの全スレッドで消費される CPU 時間を計測する)。
.TP
\fBCLOCK_THREAD_CPUTIME_ID\fP (Linux 2.6.12 以降)
スレッド固有の CPU タイムクロック。
\fBEPERM\fP
指示されたクロックを設定する権限が \fBclock_settime\fP() にない。
.SH バージョン
-These system calls first appeared in Linux 2.6.
+これらのシステムコールは Linux 2.6 で初めて登場した。
.SH 準拠
SUSv2, POSIX.1\-2001.
.SH 可用性
\fBCLOCK_THREAD_CPUTIME_ID\fP が利用可能なことを示す。 (\fBsysconf\fP(3) も参照すること。)
.SH 注意
.SS "SMP システムに関する歴史的な注意事項"
-Before Linux added kernel support for \fBCLOCK_PROCESS_CPUTIME_ID\fP and
-\fBCLOCK_THREAD_CPUTIME_ID\fP, glibc implemented these clocks on many platforms
-using timer registers from the CPUs (TSC on i386, AR.ITC on Itanium). These
-registers may differ between CPUs and as a consequence these clocks may
-return \fBbogus results\fP if a process is migrated to another CPU.
+Linux が \fBCLOCK_PROCESS_CPUTIME_ID\fP と \fBCLOCK_THREAD_CPUTIME_ID\fP
+クロックのカーネルによるサポートを追加する前は、 glibc はこれらのクロックは多くのプラットフォームで CPU のタイマーレジスタ (i386 上の
+TSC、Itanium 上の AR.ITC) を用いて実現されていた。 これらのレジスタは CPU 間で異なる可能性があり、 プロセスが他の CPU
+に移動させられた場合、 結果としてこれらのクロックが\fB偽の結果\fP (bogus results) を返すかもしれない。
.PP
SMP システムの各 CPU が別々のクロック源を持つ場合、 タイマーレジスタ間の相互関係を管理する方法はない。 これは各 CPU
が微妙に異なる周波数で動作するためである。 これが真実の場合 (訳註: 各 CPU が別々のクロック源を持つ場合)、
オフセットをブート時に制限するコードが含まれるアーキテクチャもある。 しかし、このコードがオフセットを正確に調整することは保証できない。 glibc は
(Linux カーネルとは異なり) オフセットを扱うためのコードを提供しない。 通常はこれらのオフセットが小さいので、多くの場合でその影響は無視できる。
-Since glibc 2.4, the wrapper functions for the system calls described in
-this page avoid the abovementioned problems by employing the kernel
-implementation of \fBCLOCK_PROCESS_CPUTIME_ID\fP and
-\fBCLOCK_THREAD_CPUTIME_ID\fP, on systems that provide such an implementation
-(i.e., Linux 2.6.12 and later).
+glibc 2.4 以降では、 このページで説明したシステムコールのラッパー関数は、 \fBCLOCK_PROCESS_CPUTIME_ID\fP と
+\fBCLOCK_THREAD_CPUTIME_ID\fP のカーネル実装が利用できるシステム (すなわち Linux 2.6.12 以降)
+ではカーネル実装を利用することで、 上述の問題を回避している。
.SH バグ
.\" See http://bugzilla.kernel.org/show_bug.cgi?id=11972
POSIX.1\-2001 では、 「適切な特権 (appropriate privileges)」を持ったプロセスは、
\fBadjtime\fP(3), \fBclock_getcpuclockid\fP(3), \fBctime\fP(3), \fBftime\fP(3),
\fBpthread_getcpuclockid\fP(3), \fBsysconf\fP(3), \fBtime\fP(7)
.SH この文書について
-この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.54 の一部
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.67 の一部
である。プロジェクトの説明とバグ報告に関する情報は
http://www.kernel.org/doc/man\-pages/ に書かれている。