Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
[C++] CmosTime != DOSTime 03.10.02 18:15 Число просмотров: 1133
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
|
Можно самому написать программу синхронизации любого времени по любому и поставить ее запуск в таблицу запуска по расписанию (резидент доя доса).
Может помоч обновление прошивки биоса.
ЦМОС часы ходят сами по себе. Биосовские часы считают прерывания от таймера. ОС может пользоваться биосовскими часами, а может и сама прерывания считать. Может биос в таймер пишет не 65536 а 65535, вот и расхождение можно получить. Это маловероятно, поскольку биосы достаточно отлажены, чтобы в них не было ошибок.
Скорее всего у Вас на основной плате бракованый кварц впаян, не основной (чуть более 14 мегагерц), а часовой (чуть более мегагерца он должен быть). Тут уж прошивки и операционки не помогут - только программа синхронизации.
Хотя есть еще выход - в нулевой канал таймера другое число загнать - меньшее, поскольку часы у Вас отстают. Число подобрать надо будет.
В крайнем случае перепаять кварц или поменять плату.
> Доброго времени суток! > Заметил я такую интересную вещь за компьютерами, > работающими под PC DOS 7 > Часики сильно отстают на станциях, где работает софт, > использующий активно функцию времени(даты). Я наблюдал как > за трое суток часы просто отставали на пять минут...а то > и на 7 минут. Но стоит станцию перегрузить, как время более > или мене корректировалось. Создалось впечатление , что PC > DOS поддерживает свои внутренние часы, которые > синхронизируются с часами из CMOS только во время загрузки > операционки...а далее по ходу работы системы из-за > каких-то пропусков-запретов прерываний эти часы отстают > довольно внушительно. > ...После недолгих экспериментов действительно обнаружилось, > что функции работы со временем (21 прерывание) возращают > своё время, отличное от времени, хранящемся в > энергонезависимой памяти внутренних часов. > ...Время в операционной системе вроде WIN9x так же > отстаёт от времени в CMOS...с единствнной разницей, что > винда по ходу время от времени свои часы синхронизирует > с часами из энергонезависимой памяти (в последнем не > уверен - требуется експеримент). > > Меня интересует - есть ли в этой PC DOS7 (или вообще в > ОС)"вызовы" "функции" позволяющие синхронизировать эти > часики? > (синхронизировать в своём коде через чтение самой смоз > просьба не предлагать - уже есть) > -- > WBR, > AlexKara
|
|
|