Стандартными средствами Linux - корректно никак. Таймер стандартного ядра имеет разрешающую способность 10 миллисекунд на i86x и 1 миллисекунду на Альфах. Поэтому можно использовать usleep но оно все равно округлить результат :)
Выход первый (сложный) написать управление микрсхемой реального времени и перехватывать её прерывания.
Выход второй простой - кодовые слова RTLinux и KURT