Hello All!
Имеется некая система управления объектом (Конкретно - эталоном-копией Государственного эталона времени и частоты, но это неважно) , сделанная и работающая под ДОСом. Делается другая подобная система, в которой работает задача от первой и еще пара досовских задач. Делается это под Win2000ProSP4. Таково требование заказчика.
Разумеется, для правильной датировки событий в системе время в ней должно быть известно с точностью этак 0.1 сек. Соответственно, в системе стоит NTP клиент от NIST, имеется свой NTP сервер под FreeBSD (И со встроенным преобразователем кода времени из получаемого от эталона в формат DUMBCLOCK на PIC - это антиоффтопик). Все работает. Тем не менее, время в задаче уходит на десяток секунд за трое суток работы. Помогает перезапуск задачи.
Сделан вывод: При запуске задачи в режиме эмуляции ДОС ей создается окружение, включающее в себя таймер, в этот момент синхронизованный с системой. После этого таймер идет автономно, и NTP на него уже не влияет.
Я в тоске, поскольку перевод задачи под Windows API потянет за собой перевод с FOSSIL API на Windows COM port API, с негарантированным результатом.
Anatoly