GNU/Linux >> Linux Esercitazione >  >> Linux

In quali casi CLOCK_MONOTONIC potrebbe non essere disponibile

È ragionevole presumere che l'orologio CLOCK_MONOTONIC sia disponibile su tutti i moderni server Linux?

Sì. È ragionevole supporre che.

Dalla formulazione dell'immissione manuale di gettime, possiamo dedurre che le versioni molto vecchie di glibc non supportano CLOCK_MONOTONIC . (Sto ancora cercando di capire quanti anni abbia... ma probabilmente quando glibc ha rivendicato la conformità POSIX 1003.1.)

CLOCK_MONOTONIC è stato specificato (almeno) in IEEE Std 1003.1, 2004 Edition, sebbene sia possibile che un'implementazione libc conforme non supporti CLOCK_MONOTONIC .

Il codice sorgente del kernel Linux ha avuto il supporto per un CLOCK_MONOTONIC clock almeno da Linux 3.0 (2011).

Da altre fonti, dipende anche da come è stato costruito il glibc del tuo sistema. (Se compilato con "timer emulati", CLOCK_MONOTONIC non è supportato.)

Ecco alcuni casi in cui non è supportato:

  • Potrebbero esserci problemi con alcuni vecchi chip della CPU; per esempio. https://bugzilla.redhat.com/show_bug.cgi?id=1499480

  • Non è supportato per alcune (tutte?) versioni di Cygwin.

  • Non è supportato per alcune (tutte?) versioni di uCLibc su ARM.

È anche possibile per CLOCK_MONOTONIC essere supportato ma buggato:

  • Linux clock_gettime(CLOCK_MONOTONIC) strano comportamento non monotono

È ragionevole presumere che l'orologio CLOCK_MONOTONIC sia disponibile su tutti i moderni server Linux?

Posso solo commentare questa domanda. Sì, è ragionevole che tutti i sistemi di produzione che usi abbiano un orologio monotono a cui Linux sa come accedere. Questo vale anche per i server virtuali e container.

Una buona ingegneria impone di inserire un controllo per questo e di escludere un errore se un presupposto viene infranto, ma farei affidamento su questo in fase di progettazione.


Linux
  1. Che cos'è un utente Linux?

  2. Cosa non mettere su un SSD?

  3. Controlla che tipo di slot hardware sono disponibili Linux?

  4. Cos'è Red Hat Linux?

  5. Cos'è JingOS Linux?

Audio Linux:disponibili solo altoparlanti o microfono, non entrambi

Che cos'è Login Shell in Linux?

Che cos'è la media del carico in Linux?

Che cos'è il file .bashrc in Linux?

Le 10 migliori distribuzioni Linux

Quali applicazioni di editing video sono disponibili in Linux?