Таймер скорее программный. На сколько мне известно Linux при старте настраивает 1 хардварный таймер. И в дальнейшем по нему все синхронизирует. Предполагаю что hrtimer записывает процессы в очередь и с какой-то периодичностью проверяет не пора ли процессы из этой очереди вызывать.
Вообще, ключевое слово static для функции в C++ значит абсолютно тоже самое, что и в C: видимость функции ограничивается текущей единицей трансляции (файлом).
Мигаем светодиодом из модуля ядра Linux