что такое разрешение jiffie в ядре Linux

что такое разрешение jiffie в ядре Linux

Каково разрешение jiffie в ядре Linux?

Согласно текущему источнику таймера ( cat /sys/devices/system/clocksource/clocksource0/current_clocksource), Linux использует TSC и имеет наносекундное разрешение

в соответствии сhttp://lxr.free-electrons.com/source/include/linux/jiffies.hДжиффи не меньше 1 мкс, но может быть больше.

Есть ли способ определить его текущее разрешение?

решение1

Если вы посмотрите на страницу руководстваman 7 time

Значение HZ различается в зависимости от версии ядра и аппаратной платформы. На i386 ситуация выглядит следующим образом: на ядрах до 2.4.x включительно значение HZ было равно 100, что давало значение jiffy в 0,01 секунды; начиная с 2.6.0 значение HZ было увеличено до 1000, что давало значение jiffy в 0,001 секунды. Начиная с ядра 2.6.13 значение HZ является параметром конфигурации ядра и может быть равно 100, 250 (по умолчанию) или 1000, что дает значение jiffies соответственно 0,01, 0,004 или 0,001 секунды. Начиная с ядра 2.6.20 доступна дополнительная частота: 300, число, которое делится нацело для обычных частот видеокадров (PAL, 25 Гц; NTSC, 30 Гц).

Системный вызов times(2) представляет собой особый случай. Он сообщает время с гранулярностью, определяемой константой ядра USER_HZ. Приложения пользовательского пространства могут определить значение этой константы
с помощью sysconf(_SC_CLK_TCK).

Вы можете запросить CLK_TCKконстанту:

$ getconf CLK_TCK
100

Это сообщает вам значение HZ, т.е. 100. Это значение представляет собой количество мигов в секунду.

Рекомендации

решение2

Согласно этим источникам, резолюция длямигиесть 1/HZ(какое бы значение HZоно ни имело):

Он определяется в одном из заголовочных файлов, зависящих от ядра, например,

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

который включен из

/usr/include/linux/param.h

и в конечном итоге из <sys/param.h>, который может находиться в каталоге, специфичном для архитектуры, например,

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

Исходные тексты ясно дают понять, что это константа времени компиляции, зависящая от вашей конкретной системы.

Связанный контент