PCの時計合わせ2019年04月28日

PC内蔵の時計は非常に狂いやすい。ちゃんと水晶振動子を使った水晶時計のはずだが、多分コスト低減のため結晶軸のカット角度などがいい加減な水晶片を使っていて温度特性が悪いのだと思う。通常の用途には問題ないだろうが、時間精度がうるさい場合に使い物にならない。私はPCを使ったFT8というモードの無線通信をやっているが、このモードではお互いの時刻のずれが標準時刻に対して1秒以内位に収めなければならない。一方PCのほうは使っているうちに周辺の発熱や冷却ファンの動作で温度が大きく変動するため、どんどん時計が狂うからまめな補正が必要になる。パソコンの時計の仕組みは詳しくないがWindows10の通常のパソコンでは独立した時計(RTC:real time clock)が電池バックアップで常時動いていてこれは精度が非常に低い。またシステムのクロックに基づくOS上の時計も動いていて、立ち上げ時にRTCからシステムの時計に時刻を与え、その後はシステムの時計がwindows上で時を刻んでいるようだ。この時刻はwindowsにより一定期間で自動修正される。通常は1週間毎くらいにNTP(network time protocol)サーバーという時計サーバーを見に行くようになっている。NTPサーバーは最上位が原子時計などを基準にした時計サーバーで公的機関や大学など色々なところに存在する。NTPにはヒエラルキーがあって上位は超高精度だが、それらを末端からアクセスすると混雑させたり中々繋がらないなどの不都合があるので、自分のプロバイダーが持っているNTPサーバーを使うとよい。プロバイダーなどにある下位のNTPサーバーでも十分に高精度のようだ。PCの時刻をいつも正確にしたければこのNTPサーバーに接続する頻度を上げて較正すればよい。そのためには昔からある桜時計などの手動較正ソフトが使えるが、windowsではタスクスケジューラーの設定やレジストリの書き換えで望みの頻度で自動較正できる。まったくパソコンというものは余計な事を要求した途端、恐ろしく取り扱いが面倒になる。