カレンダー

11 | 2016/12 | 01
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

広告



最近の記事

カテゴリー

DATE: CATEGORY:TECH


もうすぐ「うるう秒(閏秒)」です。

7月1日に「うるう秒」 午前8時59分59秒と9時の間 3年半ぶりに1秒長く

で、ふと。

うるう秒で時間がズレるけどWindowsや
Linuxの時間も一斉にズレてしまうの!?

って思ったので少し調べてみた。

NTPが制御してるらしい


うるう秒なんて、いつあるかもわからんものをどうやって
考慮するのかと思ったら、NTPが教えてくれるらしいです。

最上位のGPS 衛星などを参照する専用のタイムサーバが、
Leap Indicatorという値を設定して、下位のNTPサーバに
自動伝達するんだって。

leapの値は、具体的にこんなコマンドで分かります。

$ ntpq -c rv
assID=0 status=06e4 leap_none, sync_ntp, 14 events, event_peer/strat_chg,
version="ntpd 4.2.4p8@1.1612-o Fri Apr 6 07:53:01 UTC 2012 (1)",
processor="x86_64", system="Linux/2.6.35.14-106.49.amzn1.x86_64",
leap=00, stratum=3, precision=-20, rootdelay=180.599,
rootdispersion=62.974, peer=13458, refid=69.65.40.29,
reftime=d3831708.86cc694d Wed, Jun 13 2012 13:41:28.526, poll=10,
clock=d3831a0f.ed474afe Wed, Jun 13 2012 13:54:23.926, state=4,
offset=2.674, frequency=38.123, jitter=4.182, noise=1.640,
stability=0.145, tai=0

このコマンドの結果の、leap=00 がポイント

leapの値でうるう秒対応が必要かどうかをLinux Kernelに
教えてあげているんだそうです。

数値はこんな意味になるみたい。

00 『うるう秒』調整は発生しません
01 正の『うるう秒』調整が発生します
10 負の『うるう秒』調整が発生します
11 『うるう秒』についての情報を持っていません


で、具体的に01, 10が応答される時には、
時間が以下のように管理されるそうです。

・Leap Indicator が 01 の時
 23:59:59 → 23:59:59 → 00:00:00(23:59:59 が2秒間続く)
・Leap Indicator が 10 の時
 23:59:58 → 00:00:00(23:59:59 がスキップされる)

って事は7月1日周辺に同じコマンドの結果を見れば、
レアな「leap=01」が見れるのかも。

つまり。

NTPを設定していない場合、うるう秒で確実に時間は
ズレるってことですね。これは、Linuxだけじゃなくて、
Windowsも一緒っぽい。

って事は、今使ってるPCも7月1日で1秒ズレる!?
って思って設定を見てみたら、Windows7はデフォルトで
NTP(time.windows.com)が設定されてた。

まぁ、1秒ズレたからなんだ!
って話もあるかもしれませんが、参考まで。

そして、新たな発見


・・・ってか、うるう秒ってマイナス調整が
発生する事もあるんですね;;

そして、うるう秒ってのは
「1月1日」か「7月1日」と決まってるそうです。
そうなんだぁ・・・

参考

【Technical Notes】Linux システムクロックの『うるう秒』調整

タグ : TECH Windows Linux NTP

Comment

コメントの投稿

管理者にだけ表示を許可する


トラックバック


この記事にトラックバックする



copyright © なんとなしの日記 all rights reserved.
内職☆在宅ワークの最強は?アフィリエイト!. 初心者だってカッコ良いホームページ作るぅ!
Powered by FC2ブログ
Related Posts Plugin for WordPress, Blogger...