was ist eine Auflösung von Jiffie im Linux-Kernel

was ist eine Auflösung von Jiffie im Linux-Kernel

Was ist eine Jiffie-Auflösung im Linux-Kernel?

Laut der aktuellen Timerquelle ( cat /sys/devices/system/clocksource/clocksource0/current_clocksource) verwendet Linux TSC und hat eine Auflösung im Nanosekundenbereich

entsprechendhttp://lxr.free-electrons.com/source/include/linux/jiffies.hJiffie ist nicht kleiner als 1 us, kann aber größer sein.

Gibt es eine Möglichkeit, die aktuelle Auflösung zu bestimmen?

Antwort1

Wenn Sie einen Blick auf die Manpage werfenman 7 time

Der HZ-Wert variiert je nach Kernelversion und Hardwareplattform. Auf i386 ist die Situation wie folgt: Auf Kerneln bis einschließlich 2.4.x war HZ 100, was einen Jiffy-Wert von 0,01 Sekunden ergab; ab 2.6.0 wurde HZ auf 1000 erhöht, was einen Jiffy-Wert von 0,001 Sekunden ergab. Seit Kernel 2.6.13 ist der HZ-Wert ein Kernelkonfigurationsparameter und kann 100, 250 (Standard) oder 1000 betragen, was einen Jiffy-Wert von 0,01, 0,004 bzw. 0,001 Sekunden ergibt. Seit Kernel 2.6.20 ist eine weitere Frequenz verfügbar: 300, eine Zahl, die sich für die gängigen Videobildraten (PAL, 25 HZ; NTSC, 30 HZ) gleichmäßig teilen lässt.

Der Systemaufruf times(2) ist ein Sonderfall. Er meldet Zeiten mit einer durch die Kernelkonstante USER_HZ definierten Granularität. Anwendungen im Benutzerbereich können den Wert dieser Konstante
mit sysconf(_SC_CLK_TCK) ermitteln.

Sie können die CLK_TCKKonstante abfragen:

$ getconf CLK_TCK
100

Dies gibt Ihnen den HZ-Wert an, also 100. Dieser Wert ist die Anzahl der Augenblicke in einer Sekunde.

Verweise

Antwort2

Diesen Quellen zufolge ist die Resolution fürAugenblickeist 1/HZ(welcher Wert HZauch immer):

Es ist in einer der kernelabhängigen Headerdateien definiert, z. B.

/usr/include/asm-generic/param.h

welches enthalten ist von

/usr/include/linux/param.h

und schließlich von <sys/param.h>, das sich in einem architekturspezifischen Verzeichnis befinden kann, z. B.

/usr/include/x86_64-linux-gnu/sys/param.h

Aus den Quellen geht hervor, dass es sich um eine Konstante zur Kompilierungszeit handelt und diese von Ihrem jeweiligen System abhängt.

verwandte Informationen