GNU/Linux >> Belajar Linux >  >> Linux

Dalam kasus apa CLOCK_MONOTONIC mungkin tidak tersedia

Apakah masuk akal untuk berasumsi bahwa jam CLOCK_MONOTONIC tersedia di semua server Linux modern?

Ya. Masuk akal untuk berasumsi demikian.

Dari kata-kata entri manual gettime, kita dapat menyimpulkan bahwa glibc versi lama tidak mendukung CLOCK_MONOTONIC . (Saya masih mencoba mencari tahu berapa umurnya ... tapi mungkin saat glibc mengklaim kepatuhan POSIX 1003.1.)

CLOCK_MONOTONIC telah ditentukan (setidaknya) dalam IEEE Std 1003.1, Edisi 2004, meskipun implementasi libc yang sesuai tetap memungkinkan untuk tidak mendukung CLOCK_MONOTONIC .

Kode sumber kernel Linux memiliki dukungan untuk CLOCK_MONOTONIC setidaknya sejak Linux 3.0 (2011).

Dari sumber lain, ini juga bergantung pada bagaimana glibc sistem Anda dibuat. (Bila dibuat dengan "emulated timers", CLOCK_MONOTONIC tidak didukung.)

Berikut beberapa kasus yang tidak didukung:

  • Mungkin ada masalah dengan beberapa chip CPU lama; misalnya https://bugzilla.redhat.com/show_bug.cgi?id=1499480

  • Itu tidak didukung untuk beberapa (semua?) versi Cygwin.

  • Itu tidak didukung untuk beberapa (semua?) versi uCLibc di ARM.

Bisa juga untuk CLOCK_MONOTONIC untuk didukung tetapi buggy:

  • Linux clock_gettime(CLOCK_MONOTONIC) perilaku non-monotonik yang aneh

Apakah masuk akal untuk berasumsi bahwa jam CLOCK_MONOTONIC tersedia di semua server Linux modern?

Saya hanya bisa mengomentari pertanyaan ini. Ya, masuk akal bahwa semua sistem tingkat produksi yang Anda gunakan akan memiliki jam monoton yang dapat diakses oleh Linux. Ini juga berlaku untuk server virtual dan kontainer.

Rekayasa yang baik mengharuskan Anda melakukan check in untuk ini dan error-out jika asumsi rusak, tetapi saya akan mengandalkan ini pada waktu desain.


Linux
  1. Apa itu pengguna Linux?

  2. Apa yang Tidak Harus Dipasang Di SSD?

  3. Apa itu Red Hat Linux?

  1. Apa itu Umask di Linux?

  2. Linux – Apa yang Membuat Program Osx Tidak Dapat Dijalankan Di Linux?

  3. Perintah Linux 'akan' tidak berfungsi

  1. Linux vs. Unix:Apa bedanya?

  2. Periksa Apa Jenis Slot Perangkat Keras yang Tersedia Linux?

  3. Apa itu JingOS Linux?