GNU/Linux >> Linux の 問題 >  >> Linux

CLOCK_MONOTONIC が利用できない場合

<ブロック引用>

最新のすべての Linux サーバーで CLOCK_MONOTONIC クロックが利用可能であると仮定するのは合理的ですか?

はい。と仮定するのは合理的です。

gettime マニュアル エントリの文言から、本当に古いバージョンの glibc は CLOCK_MONOTONIC をサポートしていないことが推測できます。 . (私はまだ何歳かを把握しようとしています...しかし、おそらく glibc が POSIX 1003.1 準拠を主張したときです。)

CLOCK_MONOTONIC (少なくとも) IEEE Std 1003.1, 2004 Edition で指定されましたが、準拠する libc 実装が CLOCK_MONOTONIC をサポートしない可能性は残っています。 .

Linux カーネル ソース コードは、CLOCK_MONOTONIC をサポートしています。 少なくとも Linux 3.0 (2011) 以降のクロック。

他のソースから、システムの glibc がどのように構築されたかにも依存します。 (「エミュレートされたタイマー」で構築された場合、CLOCK_MONOTONIC はサポートされていません。)

サポートされていない場合は次のとおりです:

  • 一部の古い CPU チップには問題がある可能性があります。例えばhttps://bugzilla.redhat.com/show_bug.cgi?id=1499480

  • Cygwin の一部 (すべて?) のバージョンではサポートされていません。

  • ARM 上の uCLibc の一部 (すべて?) のバージョンではサポートされていません。

CLOCK_MONOTONICでも可能です サポートされますが、バグがあります:

  • Linux の clock_gettime(CLOCK_MONOTONIC) の奇妙で非単調な動作

<ブロック引用>

最新のすべての Linux サーバーで CLOCK_MONOTONIC クロックが利用可能であると仮定するのは合理的ですか?

私はこの質問にしかコメントできません。はい、使用するすべての製品グレードのシステムに、Linux がアクセス方法を認識している単調なクロックを使用することは合理的です。これは、仮想サーバーとコンテナー サーバーにも当てはまります。

優れたエンジニアリングでは、これをチェックインし、仮定が破られた場合はエラーを出すよう指示されますが、設計時にはこれを当てにします。


Linux
  1. Linux – LinuxでOsxプログラムを実行できない理由は何ですか?

  2. SSDを装着しないでください?

  3. Red Hat Linux とは?

  1. LinuxとUnix:違いは何ですか?

  2. Linuxユーザーとは何ですか?

  3. JingOS Linux とは何ですか?

  1. LinuxのUmaskとは

  2. Linuxで利用できるハードウェアスロットの種類を確認してください。

  3. Linux コマンド 'll' が機能しない