このファイルは、もともとは LMSでの資料として作成した物で、 単独では、いまいち役に立たないので、少し文章を追加してみました。 追加した説明はこの色です。
常時接続に限らず、ネットワークに接続されたコンピュータが勝手な時を
刻んでいたのでは、色々な問題が発生します。
本セミナーでは、Linux のシステム時計を個人ユーザーが可能な範囲でま
ともにする事を考えます。
1) UNIX time, 協定世界時について、glibc での実装に付いて簡単に解説。
2) ntp 等有名な、時刻合わせ、時刻比較プログラムに付いて簡単な紹介。
3) 現在企画中の簡易時刻修正プログラムの紹介。
私は、この春から 上の写真の町に住んでいます。そのような訳で、時刻とかその辺に ちょっとうるさい人になる事にしました(嘘)。
協定世界時, 閏秒等の単語は聞いた事があると思いますが、これらが 何物か把握している人は少ないようです。コンピュータのシステム時計 に付いて考える前に協定世界時に付いて、簡単に解説してみたいと思います。
時を計る物差しは、この世に無数に存在します。皆がそれぞれ勝手な時計を
使っていると、混乱してしまいます。食事の待ち合わせ時間の指定で、
「俺様の腹のすいた時」と指定されても困ってしまいます。
協定世界時で 06:00:00 頃と言えば日本ではお昼過ぎです。日常生活の便利の
ためには、12:00:00 が、お昼であって欲しいものです。そこで、世界各地で
地方時と言うものが運用されています。東西に長い国では、複数の地方時が
ある場合もあります。日本では、日本標準時(JST)が使用されています。
日本標準時は協定世界時に対してちょうど 9時間進んでいます。協定世界時で
2004年6月10日 0時0分0秒は、日本標準時では 2004年6月10日 9時0分0秒に
なります。協定世界時と地方時の変換は、何時間進んでいるか遅れているか
がわかれば機械的に簡単に計算できます(但し、夏時間が存在する、非文明国は
除く)。
ここの説明で、地方時と言う単語を間違って書いていますが、標準時
としておけば良かったかな。
本来の地方時は、経度が異なれば異なります。東京の
地方時と大阪の地方時は別物なのです。ただ、密接に繋がりあった地域内
で、時刻系が異なるのは不便です。そこで、日本国内では、東経135度に
おける地方時を標準時として使用する事が法律で決められています。これが、
日本標準時です(聞いた話では、法律の条文中には日本標準時という単語
はなく、中央標準時となっているそうな)。
原始的な時計の一つに日時計があります。地面に棒を立てて、その影の位置で
時刻を知る事が出来ると言う簡単な物です。
<余談>上の写真は、第二神明道路の明石SA
で撮影した物です。この日時計は、多少近代的です。棒が斜めに立っていますが、
実は、この棒の傾きは、設置場所の緯度と等しく、棒の先端は真北を向いています。
つまり、この棒は、地球の自転軸と並行になるよう設置されているのです。</余談>
そこで、皆で使う共通の時刻システムとして決められたのが、
協定世界時(UTC)です。
日本標準時
世界各国で標準時があり、それらの多くは、 UTC に対して整数時間の
オフセット(ずれ)があるように 0, 15, 30, 45, ... 度のように15度の
倍数の経度における地方時を標準時として採用しています。もちろん
例外はあって、例えば America/St_Johns では、-3.5時間となっています。
UNIX で local time という単語が出て来ますが、これは、地方時では
なく、各地方での標準時程度にとらえて下さい。
真太陽時
このように、日時計で計る時刻は、地球表面から見た見掛け上の太陽の動きを、
直接的に表現する物で、日出、日没に同期して生活する人間にとっては、
非常に便利な時刻系と言えます。
恒星時, 平均太陽時
恒星時 | 恒星の観測から得られる。ある恒星が子午線を通過してから、 次に子午線を通過するまでの時間を一日とする。地球の自転をを 直接時刻に反映する。 |
真太陽時 | 地球表面から見た太陽の動きを基準にした時刻系。地球の軌道が楕円形である、 地軸が約23.4度傾いている等の事情で、季節によって一日の長さが異なる。 |
平均 太陽時 |
太陽時の季節変動分を平均化したもの。恒星時から計算で得ることができる。 |
±1時間程度の精度で良ければ、日時計は優れた時計です。この時刻系は、
地球の自転と、太陽のまわりを回る公転の組合せになります。そこで、
地球の自転軸は、公転面と垂直でない、地球の公転軌道は、楕円形で、
太陽に近い時は速く、遠い時は遅く運動すると言う影響で、季節によって、
一日の長さが異なる(昼の長さが異なるという話とは別の問題です)という
事になります。
日時計は、夜間や、曇の日は使用できません。その間は、何らかの時計に
よって補間する訳ですが、一日の長さ(ひいては一秒の長さ)が変動する
時刻を表現するのは大変な話です。
そこで、季節変動分を平均化して作られたのが、平均太陽時です。
平均太陽時は、恒星の地球表面から観測したデータを元に、作成します。
恒星は、ほぼ無限遠のかなたにあるので、これは、地球の自転を直接的に
測定する事を意味します(実際には、無限遠のかなたにある訳ではなく、
視差がありますし、地球の公転による光行差とか恒星自身の固有運動の影響
とかありますが、これらは観測データの処理時に取り除きます)。
観測で得られた恒星時に公転による影響を計算で加えれば、平均太陽時が
得られます。
まず 1秒の長さを定義して、一定の速度で時が進んで行く時刻システム
技術の進歩とともにますます精密な時刻システムになって行く。
国際原子時は、世界各地の原子時計を比較しながら運営されている。
133Cs 原子の基底状態の2つの超微細準位の間の遷移に対応する
放射の 9 192 631 770 周期の継続時間。
セミナーではここに、原子時計の写真を貼っていました。
原子時計や、周波数標準器等の写真を見たい方は、
http://jjy.nict.go.jp/
独立行政法人 情報通信研究機構 日本標準時グループ
http://www2.nict.go.jp/dk/c251/index.html
独立行政法人 情報通信研究機構 原子周波数標準グループ
をさまよって下さい。