OSDN Git Service

Update draft for LDP 3.67
[linuxjm/LDP_man-pages.git] / draft / man2 / clock_getres.2
index bb5f7be..1e3db26 100644 (file)
 .\" This file was generated with po4a. Translate the source file.
 .\"
 .\"*******************************************************************
-.TH CLOCK_GETRES 2 2013\-02\-25 "" "Linux Programmer's Manual"
+.\"
+.\" Japanese Version Copyright (c) 2004-2005 Yuichi SATO
+.\"         all rights reserved.
+.\" Translated 2004-07-19, Yuichi SATO <ysato444@yahoo.co.jp>
+.\" Updated & Modified 2005-01-10, Yuichi SATO
+.\" Updated 2010-04-11, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
+.\" Updated 2012-04-27, Akihiro MOTOKI <amotoki@gmail.com>
+.\" Updated 2012-05-08, Akihiro MOTOKI <amotoki@gmail.com>
+.\" Updated 2012-05-29, Akihiro MOTOKI <amotoki@gmail.com>
+.\" Updated 2013-05-06, Akihiro MOTOKI <amotoki@gmail.com>
+.\"
+.TH CLOCK_GETRES 2 2013\-12\-28 "" "Linux Programmer's Manual"
 .SH 名前
 clock_getres, clock_gettime, clock_settime \- クロックと時間の関数
 .SH 書式
@@ -45,7 +56,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
-Link with \fI\-lrt\fP (only for glibc versions before 2.17).
+\fI\-lrt\fP とリンクする (バージョン 2.17 より前の glibc のみ)
 .sp
 .in -4n
 glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7)  参照):
@@ -81,9 +92,9 @@ struct timespec {
 その場合は全てのプロセスから見ることができる。 また 1 つのプロセス内でのみ時間を計測する場合は、 プロセス毎に適用することもできる。
 .LP
 全ての実装においてシステム全体のリアルタイムクロックがサポートされ、 \fBCLOCK_REALTIME\fP で識別される。 時間は紀元 (the
-Epoch) ã\81\8bã\82\89ã\81®ç§\92ã\81¨ã\83\8aã\83\8eç§\92ã\81§è¡¨ã\81\95ã\82\8cã\82\8bã\80\82 æ\99\82é\96\93ã\81\8cå¤\89æ\9b´ã\81\95ã\82\8cã\81\9få ´å\90\88ã\80\81ç\9b¸å¯¾ç\9a\84ã\81ªæ\99\82é\96\93é\96\93é\9a\94ã\81®ã\82¿ã\82¤ã\83\9eã\81¯å½±é\9f¿ã\82\92å\8f\97ã\81\91ã\81ªã\81\84ã\81\8cã\80\81 çµ¶å¯¾ç\9a\84ã\81ªæ\99\82ç\82¹ã\81®ã\82¿ã\82¤ã\83\9eは影響を受ける。
+Epoch) ã\81\8bã\82\89ã\81®ç§\92ã\81¨ã\83\8aã\83\8eç§\92ã\81§è¡¨ã\81\95ã\82\8cã\82\8bã\80\82 æ\99\82é\96\93ã\81\8cå¤\89æ\9b´ã\81\95ã\82\8cã\81\9få ´å\90\88ã\80\81ç\9b¸å¯¾ç\9a\84ã\81ªæ\99\82é\96\93é\96\93é\9a\94ã\81®ã\82¿ã\82¤ã\83\9eã\83¼ã\81¯å½±é\9f¿ã\82\92å\8f\97ã\81\91ã\81ªã\81\84ã\81\8cã\80\81 çµ¶å¯¾ç\9a\84ã\81ªæ\99\82ç\82¹ã\81®ã\82¿ã\82¤ã\83\9eã\83¼は影響を受ける。
 .LP
-さらにいくつかのクロックが実装されているかもしれない。 対応する時間の値を解釈する方法とタイマへの影響は、定められていない。
\81\95ã\82\89ã\81«ã\81\84ã\81\8fã\81¤ã\81\8bã\81®ã\82¯ã\83­ã\83\83ã\82¯ã\81\8cå®\9fè£\85ã\81\95ã\82\8cã\81¦ã\81\84ã\82\8bã\81\8bã\82\82ã\81\97ã\82\8cã\81ªã\81\84ã\80\82 å¯¾å¿\9cã\81\99ã\82\8bæ\99\82é\96\93ã\81®å\80¤ã\82\92解é\87\88ã\81\99ã\82\8bæ\96¹æ³\95ã\81¨ã\82¿ã\82¤ã\83\9eã\83¼ã\81¸ã\81®å½±é\9f¿ã\81¯ã\80\81å®\9aã\82\81ã\82\89ã\82\8cã\81¦ã\81\84ã\81ªã\81\84ã\80\82
 .LP
 glibc と Linux カーネルの最新のバージョンでは、
 以下のクロックがサポートされている。
@@ -97,8 +108,7 @@ glibc と Linux カーネルの最新のバージョンでは、
 .TP 
 \fBCLOCK_REALTIME_COARSE\fP (Linux 2.6.32 以降; Linux 特有)
 .\" Added in commit da15cfdae03351c689736f8d142618592e3cebc3
-A faster but less precise version of \fBCLOCK_REALTIME\fP.  Use when you need
-very fast, but not fine\-grained timestamps.
+高速だが精度が低い \fBCLOCK_REALTIME\fP。速度が非常に必要で、かつ高精度のタイムスタンプが不要な場合に使用するとよい。
 .TP 
 .TP 
 \fBCLOCK_MONOTONIC\fP
@@ -110,8 +120,7 @@ very fast, but not fine\-grained timestamps.
 .TP 
 \fBCLOCK_MONOTONIC_COARSE\fP (Linux 2.6.32 以降; Linux 特有)
 .\" Added in commit da15cfdae03351c689736f8d142618592e3cebc3
-A faster but less precise version of \fBCLOCK_MONOTONIC\fP.  Use when you need
-very fast, but not fine\-grained timestamps.
+高速だが精度が低い \fBCLOCK_MONOTONIC\fP。速度が非常に必要で、かつ高精度のタイムスタンプが不要な場合に使用するとよい。
 .TP 
 \fBCLOCK_MONOTONIC_RAW\fP (Linux 2.6.28 以降; Linux 特有)
 .\" Added in commit 2d42244ae71d6c7b0884b5664cf2eda30fb2ae68, John Stultz
@@ -119,19 +128,18 @@ very fast, but not fine\-grained timestamps.
 段階的な調整の影響を受けない、ハードウェアによる生の時刻へのアクセス
 ができる。
 .TP 
-\fBCLOCK_BOOTTIME\fP (Linux 2.6.39 以降; Linux 有)
+\fBCLOCK_BOOTTIME\fP (Linux 2.6.39 以降; Linux 有)
 .\" commit 7fdd7f89006dd5a4c702fa0ce0c272345fa44ae0
 .\" commit 70a08cca1227dc31c784ec930099a4417a06e7d0
-Identical to \fBCLOCK_MONOTONIC\fP, except it also includes any time that the
-system is suspended.  This allows applications to get a suspend\-aware
-monotonic clock without having to deal with the complications of
-\fBCLOCK_REALTIME\fP, which may have discontinuities if the time is changed
-using \fBsettimeofday\fP(2).
+\fBCLOCK_MONOTONIC\fP と同じだが、システムがサスペンドされている時間も含まれる点が異なる。
+これを使うと、アプリケーションはサスペンド状態も扱える "monotonic" なクロックを得ることができる。 しかも、
+\fBCLOCK_REALTIME\fP における複雑な処理を行う必要もなくなる。 \fBCLOCK_REALTIME\fP では、
+\fBsettimeofday\fP(2) を使って時刻を変更した場合、時刻に不連続な変化が発生するからだ。
 .TP 
-\fBCLOCK_PROCESS_CPUTIME_ID\fP
-CPU による高分解能のプロセス毎のタイマ
+\fBCLOCK_PROCESS_CPUTIME_ID\fP (Linux 2.6.12 以降)
+プロセス単位の CPU タイムクロック (そのプロセスの全スレッドで消費される CPU 時間を計測する)
 .TP 
-\fBCLOCK_THREAD_CPUTIME_ID\fP
+\fBCLOCK_THREAD_CPUTIME_ID\fP (Linux 2.6.12 以降)
 スレッド固有の CPU タイムクロック。
 .SH 返り値
 \fBclock_gettime\fP(), \fBclock_settime\fP(), \fBclock_getres\fP()  は成功した場合に 0
@@ -149,6 +157,8 @@ CPU による高分解能のプロセス毎のタイマ。
 .TP 
 \fBEPERM\fP
 指示されたクロックを設定する権限が \fBclock_settime\fP()  にない。
+.SH バージョン
+これらのシステムコールは Linux 2.6 で初めて登場した。
 .SH 準拠
 SUSv2, POSIX.1\-2001.
 .SH 可用性
@@ -157,19 +167,24 @@ SUSv2, POSIX.1\-2001.
 \fB_POSIX_THREAD_CPUTIME\fP は \fBCLOCK_MONOTONIC\fP, \fBCLOCK_PROCESS_CPUTIME_ID\fP,
 \fBCLOCK_THREAD_CPUTIME_ID\fP が利用可能なことを示す。 (\fBsysconf\fP(3)  も参照すること。)
 .SH 注意
-.SS "SMP システムについての注意"
-\fBCLOCK_PROCESS_CPUTIME_ID\fP と \fBCLOCK_THREAD_CPUTIME_ID\fP クロックは、CPU からのタイマ
-(i386 上の TSC、Itanium 上の AR.ITC) を用いて実現されている。 これらのレジスタは CPU 間で異なる可能性があり、
-プロセスが他の CPU に移動させられた場合、 結果としてこれらのクロックが\fB偽の結果\fP (bogus results) を返すかもしれない。
+.SS "SMP システムに関する歴史的な注意事項"
+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
+SMP ã\82·ã\82¹ã\83\86ã\83 ã\81®å\90\84 CPU ã\81\8cå\88¥ã\80\85ã\81®ã\82¯ã\83­ã\83\83ã\82¯æº\90ã\82\92æ\8c\81ã\81¤å ´å\90\88ã\80\81 ã\82¿ã\82¤ã\83\9eã\83¼ã\83¬ã\82¸ã\82¹ã\82¿é\96\93ã\81®ç\9b¸äº\92é\96¢ä¿\82ã\82\92管ç\90\86ã\81\99ã\82\8bæ\96¹æ³\95ã\81¯ã\81ªã\81\84ã\80\82 ã\81\93ã\82\8cã\81¯å\90\84 CPU
 が微妙に異なる周波数で動作するためである。 これが真実の場合 (訳註: 各 CPU が別々のクロック源を持つ場合)、
 \fIclock_getcpuclockid(0)\fP は \fBENOENT\fP を返して、その状況を表す。 2 つのクロックは、プロセスが特定の CPU
 上に留まっていることが 保証できる場合にのみ有効である。
 .PP
-SMP システムの各プロセッサは全く同じ時刻に起動する訳ではないので、 各タイマレジスタは通常はあるオフセットで動作している。
+SMP ã\82·ã\82¹ã\83\86ã\83 ã\81®å\90\84ã\83\97ã\83­ã\82»ã\83\83ã\82µã\81¯å\85¨ã\81\8få\90\8cã\81\98æ\99\82å\88»ã\81«èµ·å\8b\95ã\81\99ã\82\8b訳ã\81§ã\81¯ã\81ªã\81\84ã\81®ã\81§ã\80\81 å\90\84ã\82¿ã\82¤ã\83\9eã\83¼ã\83¬ã\82¸ã\82¹ã\82¿ã\81¯é\80\9a常ã\81¯ã\81\82ã\82\8bã\82ªã\83\95ã\82»ã\83\83ã\83\88ã\81§å\8b\95ä½\9cã\81\97ã\81¦ã\81\84ã\82\8bã\80\82
 オフセットをブート時に制限するコードが含まれるアーキテクチャもある。 しかし、このコードがオフセットを正確に調整することは保証できない。 glibc は
 (Linux カーネルとは異なり) オフセットを扱うためのコードを提供しない。 通常はこれらのオフセットが小さいので、多くの場合でその影響は無視できる。
+
+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)」を持ったプロセスは、
@@ -181,6 +196,6 @@ 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.51 の一部
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.67 の一部
 である。プロジェクトの説明とバグ報告に関する情報は
 http://www.kernel.org/doc/man\-pages/ に書かれている。