[7] 理想的環境ではすべての時計は単調増加するはずですが、 現実には時刻調整の結果減少したり、 長時間同じ値に留まったりする可能性があります。 そもそも地方時は夏時刻や標準時改正、 時間帯を超えた移動の影響を受ける可能性があります。 単調増加時計はこうした非連続の可能性を排除したものです。
[1] カーネルにおけるタイマー事情 ~第2回 カーネル内の時刻/時間関連サブシステム~ | VA Linux Systems Japan株式会社 ( ()) http://www.valinux.co.jp/technologylibrary/document/linuxkernel/timer0002/
CLOCK_MONOTONIC
設定することができないクロックで、ある開始時点からの単調増加の時間で 表現されるクロック (開始時点がどの時点となるかは規定されていない)。 この時計は、システム時間の不連続な変化 (例えば、システム管理者がシステ ム時間を手動で変更した場合など) の影響を受けないが、 adjtime(3) や NTP が行う段階的な調整の影響を受ける。
CLOCK_MONOTONIC_COARSE (Linux 2.6.32 以降; Linux 特有)
高速だが精度が低い CLOCK_MONOTONIC。速度が非常に必要で、かつ高精度のタイムスタンプが不要な場合に使用するとよい。
CLOCK_MONOTONIC_RAW (Linux 2.6.28 以降; Linux 特有)
CLOCK_MONOTONIC と同様だが、NTP による調整や adjtime(3) が行う 段階的な調整の影響を受けない、ハードウェアによる生の時刻へのアクセス ができる。
[3] linux - Starting point for CLOCK_MONOTONIC - Stack Overflow ( ()) http://stackoverflow.com/questions/14726401/starting-point-for-clock-monotonic
[4] linux - Difference between CLOCK_REALTIME and CLOCK_MONOTONIC? - Stack Overflow ( ()) http://stackoverflow.com/questions/3523442/difference-between-clock-realtime-and-clock-monotonic