このページの本文へ

Windows Info 第141回

Windows RS5で実装される、うるう秒対応や高精度ネットワーク時間

2018年09月23日 10時00分更新

文● 塩田紳二 編集● ASCII編集部

  • この記事をはてなブックマークに追加
  • 本文印刷

 Windows 10の次期アップデートである「October 2018 Update」(RS5)には、時間精度を高める改良が行なわれる。

金融取引に使われるケースを意識して
非常に高精度な時計の精度が求められている

 というのも、米国やEU圏では、電子的な金融取引などに使うコンピュータシステムに対して高い精度の時計機能などが要求されているからだ。具体的には、米国のFINRA(Financial Industry Regulatory Authority)のルールやEU圏のESMA(European Securities and Markets Authority)によるEMIR(European Market Infrastructure Regulation)、MiFID(Markets in Financial Instruments Directive)などである。

 ここではこれらについては具体的に解説しないが、簡単に言えば、電子的な金融取引をするコンピュータでは、一定以上の時間精度、特定の時刻サーバーに一定誤差内で同期することおよび、同期の経過を記録することが求められる。

 このため、Windowsでは以下のように改良が加えられている。

・うるう秒への対応
・PTP(Precision Time Protocol)の実装
・ソフトウェアタイムスタンプ
・クロックソース安定化
・システムログやパフォーマンスカウンターによるトレーサビリティ

そもそも従来のWindowsは
うるう秒自体には対応していなかった

 「うるう秒」の対応は、現在でも大きな問題の1つだ。うるう秒とは、地球の自転による一日の長さが変動するため、原子時計を元にした時刻との差を1秒以内にするための調整である。原因は地球の自転の変動であるため、予告はされるものの、実施は不規則である。地球の自転は、潮汐力などに影響されていること、実際にはデコボコがあるために、回転速度はわずかながら変動しているのだ。蓄積した差分が1秒を越えてしまうと問題が発生するので、そのための調整がうるう秒なのである。

最新のうるう秒の実施は2017年1月1日。サマータイムの導入が話題になったが、うるう秒も正しくソフトウェアを実施しないと実際にトラブルは生じている

 うるう秒が始まったのは1972年だが、その頃には今のインターネットのように多数のコンピューターがネットワークで接続されているわけではなかったし、パソコンもなかった。このため、うるう秒自体は一般生活とは無関係と考えられていた。しかし、コンピューターが普及し、一部のソフトウェアが時刻に従って動作しはじめると時刻が不連続となることは大きな問題となるケースがある。

 簡単に言えば、うるう秒は1月1日または7月1日の直前で1秒調整する。1秒追加する場合には、23時59分59秒の次は60秒となり、その次が0時0分0秒となる。逆に1秒削除すると、23時59分58秒の次が0時0分0秒となる。タイムゾーンのない協定世界時での実施であるため、日本では1月1日または7月1日の午前9時0分0秒の直前に実施される。

 実はWindowsはこれまでうるう秒にまったく対応していなかったのである。というのも、Windows自身には高精度な時間に従わねばならないような条件がなかったからだ。現在のWindowsは、WindowsTimeサービスにより、NTPプロトコルを使って外部の時刻サーバーと同期している。

 NTPを使った時刻同期では、うるう秒の対応に大きく3つの方法がある。1つはNTPのSTEPモードと呼ばれ、単純に秒を調整してしまうもの。秒の挿入があると、23時59分59秒、0時0分0秒、0時0分0秒と0秒を2回繰り返し、時刻を監視しているソフトウェア側から見ると、時刻が1秒戻ってしまう。しかし、一般的にNTPクライアントは、128ミリ秒以上の誤差を検出した場合にSTEPモードで時刻を合わせる。

 もう1つは、SLEWモードと呼ばれるもので、こちらは、うるう秒が挿入されたあとの1秒の調整を時間をかけてゆっくり行なう方式だ。つまり、1秒の長さをわずかに短くして、10数分から数時間をかけてゆっくりと正しい時刻に合わせていく方式だ。この方式では、時刻が戻ることはないが、短期的に見ると、誤差が大きくなってしまう。アプリケーションのエラーは引き起こさないものの、正しい時刻の測定という点からは問題がある。

 コンピューターのクロック周波数がGHzであり、アプリケーションからみれば、1ミリ秒でも、大量のコードを実行できるため、かなり長い時間となる。SLEWモードでは、正確な時間と最大で500ミリ秒の差ができてしまう。一般的なソフトウェアの実行には問題はないが、今回Windowsが対応するのは、高精度な時刻管理であるため、この方法も使えない。

 もう1つは、NTPサーバー側などで処理する「スミアモード」と呼ばれる修正方法だ。NTPには、うるう秒を伝達する機能はあるが、前述のように問題が発生する可能性がある。うるう秒は最大で年2回あり、予測が可能であるため、うるう秒が起きる前から1秒の長さを調整し、うるう秒の直後の0時0分0秒の時点で正確な時間になるようにするのがスミアモードと呼ばれる手法だ。Googleが提供している時刻サーバーは、このスミアモードを使い、うるう秒を使わないようにしてあるという。

 しかし、今回の場合、時刻を正確に刻む(100マイクロ秒の精度が必要とされている)ことが必要であるため、うるう秒の対応には、どの方法も利用できない。そもそも、うるう秒が存在するのが正しい時刻なのである。このためWindowsでは、うるう秒そのものに対応することになった。マイクロソフトの資料によれば、うるう秒による調整があるケースでは、タスクバーの時計などで60秒が表示されるのだという。

100ナノ秒の精度で秒を調整できるように

 しかし、いくら精度を高くしても、時計自体を協定世界時に合わせる必要がある。精度とは1秒の長さが正確であることだが、その始まりがずれていては問題がある。このため、新規にPTP(Precision Time Protocol)と呼ばれる時刻同期のプロトコルを実装した。

 ただし、これは、高い精度が必要な場合に利用するもので、一般的には従来どおりNTPを使う。NTPではネットワークの遅延が対称的であると仮定しているのに対して、PTPはタイムスタンプを持つパケットを使い、ネットワークの遅延を折り込んで時刻を取得する。ただし、そのためには正しい「時計」を持っている必要がある。一般にこうした時計にはGPS衛星からの電波などを利用する。

 Windowsなど、ソフトウェアで処理する場合、ネットワークスタックなどによる遅延を考慮する必要がある。デバイスドライバーの中とはいえ、その処理時間は一定にはならない。そこでWindowsでは、ネットワークスタックの処理の前と後にパケットにタイムスタンプを付加し、処理にかかった時間を測定できるようにした。

 時計の正確さには、高い精度を保つことも含まれる。つまり、ある瞬間に一致しているだけでなく、長時間その精度を保つ必要がある。PTPを介して得た時刻であっても、誤差は含まれる。

 このためPTPで時刻を受信してそのまま時計を合わせてしまうと、さまざまな要因で変動するネットワーク遅延などの影響を受けてしまう。そこで何回も問い合わせ、自分が持っている時計の進行と、時刻サーバーの時刻の進行を一致させる必要がある。つまり、時刻サーバーから得られた時刻で時計を合わせるのではなく、自身の時計の進行が時刻サーバーと同じになるように進行を調整していくようにしなければならない。このときに自身の時計の調整は、できるだけ細かい単位で調整できるようにしなければならない。

 Windowsで高精度な時間測定には、CPUが持つTSC(Time Stamp Counter)レジスタが利用する。x86、x64では、CPUのRDTSC、RDTSCP命令でTSCレジスタの内容を読み出すことができる。この命令を使ったTSCの読み出しは高速だが、いくつかの問題がある。

 1つは、TSCはコアごとにあり、それぞれが独立しているため、同期させない限り、時刻はそれぞれ違ったものになっている。ソフトウェアが実行されるコアが変わらないようにするのはかなり大変な処理となり、システムや実行しているソフトウェアの大部分に影響を与えてしまう。そこでTSCレジスタの値を同期させておく必要がある。

 Windowsは以前からQPC(QueryPerformanceCounter)というAPIを用意していた。これはコア間のTSCを同期させるなどの初期化処理をし、高精度のタイムスタンプ(TSCレジスタ値)を得るためのAPIだ。ただし、QPCは、TSCが利用できないハードウェアのために高精度タイマー(チップセットに内蔵されている10MHzクロックのタイマー)や、MS-DOS時代からあるリアルタイムクロック(64Hzクロック)を利用することもできる。

 TSCは、CPUクロックと同じ周波数で動作するため、高い精度で時間を測定することができる。Windows Server 2019やWindows10 RS5では、100ナノ秒精度で秒を調整することが可能になるという。

カテゴリートップへ

本記事はアフィリエイトプログラムによる収益を得ている場合があります

この連載の記事
1
Apple 2026 MacBook Neo A18 Proチップ搭載13インチノートブック:AIとApple Intelligenceのために設計、Liquid Retinaディスプレイ、8GBユニファイドメモリ、512GB SSDストレージ、1080p FaceTime HDカメラ、Touch ID - インディゴ
Apple 2026 MacBook Neo A18 Proチップ搭載13インチノートブック:AIとApple Intelligenceのために設計、Liquid Retinaディスプレイ、8GBユニファイドメモリ、512GB SSDストレージ、1080p FaceTime HDカメラ、Touch ID - インディゴ
¥110,162
2
Apple 2026 MacBook Air M5チップ搭載13インチノートブック:AIとApple Intelligence、13.6インチLiquid Retinaディスプレイ、16GBユニファイドメモリ、512GB SSDストレージ、12MPセンターフレームカメラ、Touch ID - シルバー
Apple 2026 MacBook Air M5チップ搭載13インチノートブック:AIとApple Intelligence、13.6インチLiquid Retinaディスプレイ、16GBユニファイドメモリ、512GB SSDストレージ、12MPセンターフレームカメラ、Touch ID - シルバー
¥177,333
3
【整備済み品】富士通 ノートパソコン LIFEBOOK U9310 13.3型FHD(1920x1080) 超軽薄 ノートPC/第10世代 Core i5-10310U@1.7GHz/ 8GB メモリ/高速ストレージ SSD/Webカメラ/WIFI/Type-C/HDMI/win11&MS Office 2019 搭載 ビジネス 在宅勤務向け パソコン (メモリ:8GB/SSD:256GB)
【整備済み品】富士通 ノートパソコン LIFEBOOK U9310 13.3型FHD(1920x1080) 超軽薄 ノートPC/第10世代 Core i5-10310U@1.7GHz/ 8GB メモリ/高速ストレージ SSD/Webカメラ/WIFI/Type-C/HDMI/win11&MS Office 2019 搭載 ビジネス 在宅勤務向け パソコン (メモリ:8GB/SSD:256GB)
¥39,900
4
【Amazon.co.jp限定】Lenovo Chromebook クロームブック Duet 11 10.95インチ MediaTek Kompanio 838 プロセッサー​搭載 メモリ8GB eMMC 128GB 重量1.0kg 83HH000TJP パソコン
【Amazon.co.jp限定】Lenovo Chromebook クロームブック Duet 11 10.95インチ MediaTek Kompanio 838 プロセッサー​搭載 メモリ8GB eMMC 128GB 重量1.0kg 83HH000TJP パソコン
¥49,800
5
ESBOOKノートパソコン 【MS Office 2024搭載&Windows 11 Pro】14インチIPS液晶/1920×1080FHDディスプレイ カメラ付き/薄型PCノート高性能CPU/初期設定不要/8Gメモリ/無線LAN/大容量SSD/初心者向け・パソコンノート/日本語キーボードフィルム付き/ワイヤレスマウス付き(256G SSD, ローズゴールド)
ESBOOKノートパソコン 【MS Office 2024搭載&Windows 11 Pro】14インチIPS液晶/1920×1080FHDディスプレイ カメラ付き/薄型PCノート高性能CPU/初期設定不要/8Gメモリ/無線LAN/大容量SSD/初心者向け・パソコンノート/日本語キーボードフィルム付き/ワイヤレスマウス付き(256G SSD, ローズゴールド)
¥38,999

Amazonのアソシエイトとして、ASCII.jpは適格販売により収入を得ています。

ASCII倶楽部

注目ニュース

  • 角川アスキー総合研究所

プレミアム実機レビュー

ピックアップ
1
KIOXIA(キオクシア) 旧東芝メモリ microSD 128GB UHS-I Class10 (最大読出速度100MB/s) Nintendo Switch動作確認済 国内サポート正規品 メーカー保証5年 KLMEA128G
KIOXIA(キオクシア) 旧東芝メモリ microSD 128GB UHS-I Class10 (最大読出速度100MB/s) Nintendo Switch動作確認済 国内サポート正規品 メーカー保証5年 KLMEA128G
¥2,280
2
Anker PowerLine III Flow USB-C & USB-C ケーブル Anker絡まないケーブル 240W 結束バンド付き USB PD対応 シリコン素材採用 iPhone 17 / 16 / 15 / Galaxy iPad Pro MacBook Pro/Air 各種対応 (1.8m ミッドナイトブラック)
Anker PowerLine III Flow USB-C & USB-C ケーブル Anker絡まないケーブル 240W 結束バンド付き USB PD対応 シリコン素材採用 iPhone 17 / 16 / 15 / Galaxy iPad Pro MacBook Pro/Air 各種対応 (1.8m ミッドナイトブラック)
¥1,390
3
Anker USB Type C ケーブル PowerLine USB-C & USB-A 3.0 ケーブル iPhone 17 / 16 / 15 /Xperia/Galaxy/LG/iPad Pro/MacBook その他 Android 等 USB-C機器対応 テレワーク リモート 在宅勤務 0.9m ホワイト
Anker USB Type C ケーブル PowerLine USB-C & USB-A 3.0 ケーブル iPhone 17 / 16 / 15 /Xperia/Galaxy/LG/iPad Pro/MacBook その他 Android 等 USB-C機器対応 テレワーク リモート 在宅勤務 0.9m ホワイト
¥740
4
UGREEN USB Type Cケーブル PD対応 100W/5A 超急速充電 USB C ナイロン編み 断線防止 iphone17/16/15シリーズ/iPad/MacBook Pro/Galaxy S24/Matebook/iPad/Xperia等USB-C各種対応(1m, ブラック)
UGREEN USB Type Cケーブル PD対応 100W/5A 超急速充電 USB C ナイロン編み 断線防止 iphone17/16/15シリーズ/iPad/MacBook Pro/Galaxy S24/Matebook/iPad/Xperia等USB-C各種対応(1m, ブラック)
¥743
5
Anker iPhone充電ケーブル PowerLine II ライトニングケーブル MFi認証 超高耐久 iPhone 14 / 14 Pro Max / 14 Plus / 13 / 13 Pro / 12 / 11 / X/XS/XR / 8 Plus 各種対応 (0.9m ホワイト)
Anker iPhone充電ケーブル PowerLine II ライトニングケーブル MFi認証 超高耐久 iPhone 14 / 14 Pro Max / 14 Plus / 13 / 13 Pro / 12 / 11 / X/XS/XR / 8 Plus 各種対応 (0.9m ホワイト)
¥990
6
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
¥937
7
NIMASO ガラスフィルム iPad 第11世代(A16) 2025用/iPad 10.9インチ 第10世代 2022用 衝撃吸収 強化 ガラス 保護フィルム 指紋防止 ガイド枠付き NTB22I574
NIMASO ガラスフィルム iPad 第11世代(A16) 2025用/iPad 10.9インチ 第10世代 2022用 衝撃吸収 強化 ガラス 保護フィルム 指紋防止 ガイド枠付き NTB22I574
¥1,359
8
KIOXIA(キオクシア)【日本製】SDカード 64GB SDXC UHS-I Class10 読出速度100MB/s 国内正規品 メーカー保証5年 KLNEA064G
KIOXIA(キオクシア)【日本製】SDカード 64GB SDXC UHS-I Class10 読出速度100MB/s 国内正規品 メーカー保証5年 KLNEA064G
¥1,600
9
エルパ(ELPA) 扉付タップラン 電源タップ 延長コード 125V 3m 3個口 ホワイト WBT-N3030B(W)
エルパ(ELPA) 扉付タップラン 電源タップ 延長コード 125V 3m 3個口 ホワイト WBT-N3030B(W)
¥652
10
バッファロー マウス 無線 ワイヤレス 5ボタン 【戻る/進むボタン搭載】 小型 軽量 節電モデル 最大584日使用可能 BlueLED ブラック BSMBW315BK
バッファロー マウス 無線 ワイヤレス 5ボタン 【戻る/進むボタン搭載】 小型 軽量 節電モデル 最大584日使用可能 BlueLED ブラック BSMBW315BK
¥1,040

Amazonのアソシエイトとして、ASCII.jpは適格販売により収入を得ています。

デジタル用語辞典

ASCII.jpメール デジタルMac/iPodマガジン