Windows 10 bo razumel prestopne sekunde in natančneje meril čas
Matej Huš
22. jul 2018 ob 00:08:07
Microsoft bo v novo verzijo Windows 10, ki bo izšla oktobra, in Windows Server 2019 prvikrat vključil podporo za prestopne sekunde. Te bodo upoštevali na pravilen način, torej s ponovitvijo (ali teoretično preskokom) sekunde, in ne na Googlov način raztegovanja normalnih sekund. Poleg tega prinašata novi verziji Windows še podporo za naslednika NTP, ki se imenuje Precision Time Protocol (PTP), in nekaj drugih posodobitev za večjo natančnost merjenja časa.
Prestopne sekunde so posledica počasnega upočasnjevanja vrtenja Zemlje in naše želje, da bi bilo sonce v povprečju v zenitu točno ob 12.00, če smo na poldnevniku, ki ustreza aktualnemu časovnemu pasu. To je pomembno, da je dogajanje na nebu predvidljivo, kar najbolj opazijo astronomi, pri daljšem drsenju pa bi opazili tudi ljudje, ko bi bil sončni vzhod čedalje pozneje.
Medtem ko atomske ure merijo atomski čas (TAI) brez oziranja na dogajanje z Zemljo, mora ostati univerzalni koordiniran čas (UTC) oziroma civilni čas v skladu z vrtenjem Zemlje. Kadar razlika med UTC in sončnim časom (UT1) preseže 0,9 sekunde, se ob koncu junija ali decembra doda (ali odvzame) prestopna sekunda, da se časa uskladita. Tedaj se lahko zgodi, da ure pokažejo 23.59:60, ki ustreza dodani sekundi. V povprečju dodamo eno prestopno sekundo vsako poldrugo leto, nazadnje pa se je to zgodilo ob koncu leta 2016. Prestopne sekunde se povsod na Zemlji ne glede na časovni pas dodajo istočasno, in sicer ob polnoči po UTC.
Pričakovali bi, da gre za precej nepomemben detajl, a ima v resnici velike posledice za računalniške sisteme po svetu. Predlani je bilo zaradi tega kar nekaj težav, ker računalniški programi pričakujejo, da čas monotono teče in da ima kasnejši dogodek višji časovni žig. Google se je zato odločil problem reševati tako, da prestopno sekundo razmaže skozi 20 ur. Deset ur pred pojavitvijo prestopne sekunde začno njegove ure tiktakati 0,0014 % počasneje in tako tečejo 20 ur, s čimer se nadoknadi razlika.
Microsoft pojasnjuje, da za njegove potrebe ta rešitev ni sprejemljiva. Googlova rešitev namreč pomeni, da je interni čas do 0,5 sekunde drugačen od dejanskega univerzalnega koordiniranega časa. Microsoft je zato implementiral prave prestopne sekunde, torej bo Windows razumel, da čas lahko teče 23.59:59, 23.59:60, 0.00:00 ali 23.59:58, 0.00:00, 0.00:01. V praksi negativne prestopne sekunde še ni bilo in je tudi ne pričakujemo. Bi se pa lahko zgodila, če bi se vrtenje Zemlje pospešilo, denimo zaradi kakšnega hudega potresa, ki bi spremenil Zemljin vztrajnostni moment. To je mogoče in se je že zgodilo v moderni zgodovini.
Naslednja novost je uvedba PTP. NTP je že precej star protokol za sinhronizacijo lokalnega časa z zunanjimi strežniki. NTP deluje dobro in je za večino uporabnikov zadosti - mimogrede, doslej je Windows dojel prestopne sekunde tako, da se je kasneje sinhroniziral prek NTP - ni pa dovolj natančen. NTP ne upošteva pravilne zakasnitve zaradi končne hitrosti električnih signalov in latenc pri potovanju paketkov po omrežju. NTP privzame le, da je zakasnitev v obe smeri enaka, torej simetrična, kar pa ni nujno res. NTP bo ostal privzet protokol, bo pa moč uporabiti tudi PTP, ki bo natančnejši. Poleg tega novi Windows prinaša še rešitve za zagotavljanje večje zanesljivosti interne ure, avtentikacijo tega časa in dokazljivost točnosti.