Ситуация:
- есть устройство (PCI-карта - самопальный контроллер), принимающее от GPS-приёмника импульсы 1PPS (без этикетки - только 1PPS) и выдающее в компьютер прерывания (асинхронно с 1PPS - пару сотен раз в секунду) и пакеты с полезными данными, содержащими в т.ч. время по часам устройства (в микросекундах от первого 1PPS с момента подачи питания на устройство, точность +/- пару мксек);
- есть возможность получать из Интернета время по NTP с точностью порядка сотен миллисекунд;
- надо на основе всего этого построить NTP-сервер с (суб)миллисекундной точностью (а в идеале - ещё и выдавать с него время в устройство, чтобы удобнее было регистрировать показания);
- всё это должно работать как под Windows 2000, так и (в перспективе) под Linux.
Я начал с Windows - начальство сказало, что Linux подождёт. :) Написал драйвер устройства для ntpd, который берёт момент начала работы устройства из отдельного файла, но это всё же не то - хочется сделать "правильные" референсные часы на 1PPS, но вот понятия не имею - как. Документацию по ntpd перечитал, в его исходниках рылся - всё равно не понял. Подскажите, плиз, в какую сторону копать!