X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=release%2Fman2%2Fclock_getres.2;h=613a4efc87a1a2ba8bae29dc3a677451bac73fd1;hb=9bab846d3fbabd0a6c37bcac1ec38299cae9683b;hp=edb9fec6db0a41effd35daa3a8f8f108dcd136e6;hpb=2788b28c77287866568f13ddea6cb2c8c0a10491;p=linuxjm%2FLDP_man-pages.git diff --git a/release/man2/clock_getres.2 b/release/man2/clock_getres.2 index edb9fec6..613a4efc 100644 --- a/release/man2/clock_getres.2 +++ b/release/man2/clock_getres.2 @@ -1,8 +1,7 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" Copyright (c) 2003 Nick Clifford (zaf@nrc.co.nz), Jan 25, 2003 .\" Copyright (c) 2003 Andries Brouwer (aeb@cwi.nl), Aug 24, 2003 .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -22,19 +21,18 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" 2003-08-23 Martin Schulze improvements .\" 2003-08-24 aeb, large parts rewritten .\" 2004-08-06 Christoph Lameter , SMP note .\" -.\" FIXME: Linux 2.6.39 adds CLOCK_BOOTTIME -.\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* -.TH CLOCK_GETRES 2 2012\-04\-25 "" "Linux Programmer's Manual" +.TH CLOCK_GETRES 2 2013\-02\-25 "" "Linux Programmer's Manual" .SH 名前 clock_getres, clock_gettime, clock_settime \- クロックと時間の関数 .SH 書式 @@ -47,7 +45,7 @@ clock_getres, clock_gettime, clock_settime \- クロックと時間の関数 \fBint clock_settime(clockid_t \fP\fIclk_id\fP\fB, const struct timespec *\fP\fItp\fP\fB);\fP .sp -\fI\-lrt\fP でリンクする。 +\fI\-lrt\fP とリンクする (バージョン 2.17 より前の glibc のみ) .sp .in -4n glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参照): @@ -83,30 +81,52 @@ struct timespec { その場合は全てのプロセスから見ることができる。 また 1 つのプロセス内でのみ時間を計測する場合は、 プロセス毎に適用することもできる。 .LP 全ての実装においてシステム全体のリアルタイムクロックがサポートされ、 \fBCLOCK_REALTIME\fP で識別される。 時間は紀元 (the -Epoch) からの秒とナノ秒で表される。 時間が変更された場合、相対的な時間間隔のタイマは影響を受けないが、 絶対的な時点のタイマは影響を受ける。 +Epoch) からの秒とナノ秒で表される。 時間が変更された場合、相対的な時間間隔のタイマーは影響を受けないが、 絶対的な時点のタイマーは影響を受ける。 .LP -さらにいくつかのクロックが実装されているかもしれない。 対応する時間の値を解釈する方法とタイマへの影響は、定められていない。 +さらにいくつかのクロックが実装されているかもしれない。 対応する時間の値を解釈する方法とタイマーへの影響は、定められていない。 .LP -glibc と Linux カーネルの最新のバージョンでは、 以下のような十分なクロックがサポートされている。 +glibc と Linux カーネルの最新のバージョンでは、 +以下のクロックがサポートされている。 .TP \fBCLOCK_REALTIME\fP -システム全体のリアルタイムクロック。 このクロックを設定するには適切な特権が必要である。 +実時間を計測するシステム全体で一意な時間。 +このクロックを設定するには適切な特権が必要である。 +このクロックは、システム時間の不連続な変化 (例えば、システム管理者が +システム時間を手動で変更した場合など) や \fBadjtime\fP や NTP が行う +段階的な調整の影響を受ける。 +.TP +\fBCLOCK_REALTIME_COARSE\fP (Linux 2.6.32 以降; Linux 特有) +.\" Added in commit da15cfdae03351c689736f8d142618592e3cebc3 +高速だが精度が低い \fBCLOCK_REALTIME\fP。速度が非常に必要で、かつ高精度のタイムスタンプが不要な場合に使用するとよい。 +.TP .TP \fBCLOCK_MONOTONIC\fP 設定することができないクロックで、ある開始時点からの単調増加の時間で 表現されるクロック (開始時点がどの時点となるかは規定されていない)。 この時計は、システム時間の不連続な変化 (例えば、システム管理者がシステ ム時間を手動で変更した場合など) の影響を受けないが、 -\fBadjtime\fP や NTP が行う段階的な調整の影響を受ける。 +\fBadjtime\fP(3) や NTP が行う段階的な調整の影響を受ける。 +.TP +\fBCLOCK_MONOTONIC_COARSE\fP (Linux 2.6.32 以降; Linux 特有) +.\" Added in commit da15cfdae03351c689736f8d142618592e3cebc3 +高速だが精度が低い \fBCLOCK_MONOTONIC\fP。速度が非常に必要で、かつ高精度のタイムスタンプが不要な場合に使用するとよい。 .TP \fBCLOCK_MONOTONIC_RAW\fP (Linux 2.6.28 以降; Linux 特有) .\" Added in commit 2d42244ae71d6c7b0884b5664cf2eda30fb2ae68, John Stultz -\fBCLOCK_MONOTONIC\fP と同様だが、NTP による調整や \fBadjtime\fP(2) が行う +\fBCLOCK_MONOTONIC\fP と同様だが、NTP による調整や \fBadjtime\fP(3) が行う 段階的な調整の影響を受けない、ハードウェアによる生の時刻へのアクセス ができる。 .TP +\fBCLOCK_BOOTTIME\fP (Linux 2.6.39 以降; Linux 固有) +.\" commit 7fdd7f89006dd5a4c702fa0ce0c272345fa44ae0 +.\" commit 70a08cca1227dc31c784ec930099a4417a06e7d0 +\fBCLOCK_MONOTONIC\fP と同じだが、システムがサスペンドされている時間も含まれる点が異なる。 +これを使うと、アプリケーションはサスペンド状態も扱える "monotonic" なクロックを得ることができる。 しかも、 +\fBCLOCK_REALTIME\fP における複雑な処理を行う必要もなくなる。 \fBCLOCK_REALTIME\fP では、 +\fBsettimeofday\fP(2) を使って時刻を変更した場合、時刻に不連続な変化が発生するからだ。 +.TP \fBCLOCK_PROCESS_CPUTIME_ID\fP -CPU による高分解能のプロセス毎のタイマ。 +CPU による高分解能のプロセス毎のタイマー。 .TP \fBCLOCK_THREAD_CPUTIME_ID\fP スレッド固有の CPU タイムクロック。 @@ -135,16 +155,16 @@ SUSv2, POSIX.1\-2001. \fBCLOCK_THREAD_CPUTIME_ID\fP が利用可能なことを示す。 (\fBsysconf\fP(3) も参照すること。) .SH 注意 .SS "SMP システムについての注意" -\fBCLOCK_PROCESS_CPUTIME_ID\fP と \fBCLOCK_THREAD_CPUTIME_ID\fP クロックは、CPU からのタイマ +\fBCLOCK_PROCESS_CPUTIME_ID\fP と \fBCLOCK_THREAD_CPUTIME_ID\fP クロックは、CPU からのタイマー (i386 上の TSC、Itanium 上の AR.ITC) を用いて実現されている。 これらのレジスタは CPU 間で異なる可能性があり、 プロセスが他の CPU に移動させられた場合、 結果としてこれらのクロックが\fB偽の結果\fP (bogus results) を返すかもしれない。 .PP -SMP システムの各 CPU が別々のクロック源を持つ場合、 タイマレジスタ間の相互関係を管理する方法はない。 これは各 CPU +SMP システムの各 CPU が別々のクロック源を持つ場合、 タイマーレジスタ間の相互関係を管理する方法はない。 これは各 CPU が微妙に異なる周波数で動作するためである。 これが真実の場合 (訳註: 各 CPU が別々のクロック源を持つ場合)、 \fIclock_getcpuclockid(0)\fP は \fBENOENT\fP を返して、その状況を表す。 2 つのクロックは、プロセスが特定の CPU 上に留まっていることが 保証できる場合にのみ有効である。 .PP -SMP システムの各プロセッサは全く同じ時刻に起動する訳ではないので、 各タイマレジスタは通常はあるオフセットで動作している。 +SMP システムの各プロセッサは全く同じ時刻に起動する訳ではないので、 各タイマーレジスタは通常はあるオフセットで動作している。 オフセットをブート時に制限するコードが含まれるアーキテクチャもある。 しかし、このコードがオフセットを正確に調整することは保証できない。 glibc は (Linux カーネルとは異なり) オフセットを扱うためのコードを提供しない。 通常はこれらのオフセットが小さいので、多くの場合でその影響は無視できる。 .SH バグ @@ -154,18 +174,10 @@ POSIX.1\-2001 では、 「適切な特権 (appropriate privileges)」を持っ \fBCLOCK_THREAD_CPUTIME_ID\fP を設定することができるとされている。 Linux では、これらのクロックは設定可能ではない (すなわち、どのプロセスも「適切な特権」を持たない)。 .SH 関連項目 -\fBdate\fP(1), -\fBadjtime\fP(2), -\fBgettimeofday\fP(2), -\fBsettimeofday\fP(2), -\fBtime\fP(2), -\fBclock_getcpuclockid\fP(3), -\fBctime\fP(3), -\fBftime\fP(3), -\fBpthread_getcpuclockid\fP(3), -\fBsysconf\fP(3), - time (7) +\fBdate\fP(1), \fBgettimeofday\fP(2), \fBsettimeofday\fP(2), \fBtime\fP(2), +\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.40 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.52 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。