61‑sekundowe minuty nie będą problemem dla nowych systemów Microsoftu
Przestępna sekunda od 1972 roku dodawana jest pod koniec czerwcalub grudnia do aktualnego uniwersalnego czasu koordynowanego (UTC),służąc jego synchronizowaniu ze średnim czasem słonecznym.Ziemia owiem spowalnia w obrocie wokół swojej własnej osi,wydłużając dobę – po raz ostatni miała ona dokładnie 24godziny gdzieś w 1820 roku. Jak do tej pory dodano łącznie 37takich sekund, ostatnią 31 grudnia 2016 roku. Mimo standardowejnatury tej operacji i uwzględnienia jej w protokołach stanowi wciążwyzwanie dla projektantów systemów komputerowych. Jak jednakobiecuje Microsoft, przestanie być problemem w Windowsie 10 iWindows Serverze 2019.
19.07.2018 14:14
Myśl o 61-sekundowej minucie może wydawać się niepokojąca,tym bardziej że nie ma żadnego algorytmu pozwalającego przewidziećkonieczność dodania przestępnej sekundy (albo jej odjęcia –teoretycznie taka możliwość istnieje, gdyby Ziemia przyspieszyław swym obrocie dookoła osi). Dlatego też obecny system, w którymna podstawie swoich obserwacji geofizycy z półrocznym wyprzedzeniemzapowiadają konieczność zmiany czasu UTC jest krytykowany, jakostanowiący potencjalne ryzyko dla infrastruktury informatycznej ielektronicznej. Systemy uzależnione od precyzyjnego pomiaru czasumogą zaliczyć z tego powodu widowiskowe awarie.
Ostatnia taka duża awaria przydarzyła się w 2012 rokuRedditowi,LinkedIn, ThePirateBay i wielu innym dużym serwisom: był tonajbardziej wyraźny przykład niemożności dogadania się demonaczasu ntpd i innych systemowych procesów. Doszło wówczas dosytuacji, w której ntpd dodał przestępną sekundę, modyfikujączegar systemowy, gdy jednocześnie oprogramowanie ogłaszało, żewłaśnie zamierza odczytać czas z zegara. W systemach uniksowych,które wierzą standardowi POSIX ogłaszającemu, że doba ma 86400sekund, zawieszało to próbujący odczytać czas proces, sprawiającże pożerał on 100% mocy obliczeniowej procesora.
Po tej aferze wiele się zmieniło, zarówno ntpd jak i linuksowykernel otrzymałyłatki pozwalające jakoś tam sobie z tym wszystkim radzić. SamLinus Torvalds ogłosił wówczas, że nie ma co dramatyzować,standard czasu obowiązujący w POSIX jest dobry dla 99,9%użytkowników (tylko astronomowie narzekają), a cała reszta możepo prostu sekundy przestępne potraktować jako pretekst do zrobieniamałej apokaliptycznej imprezy ze znajomymi i upicia się tak, bynastępnego dnia mieć dobrze uzasadnionego kaca.
Od Microsoftu takich komentarzy raczej się nie ma co spodziewać,ale i firma z Redmond postanowiła się za problem przestępnejsekundy wreszcie wziąć. Na łamach TechNetu zapowiedzianonowe funkcje sieciowe w Windows Serverze 2019 – w tym właśniewsparcie dla dodania przestępnej sekundy. Wyglądać to manastępująco:
Jednocześnie Microsoft odciął się od praktyki „rozsmarowywaniaprzestępnej sekundy”, polegającej na podzieleniu jej na mniejszejednostki i dodawaniu ich w ciągu całego dnia, w nadziei że niktnie zauważy. Ta stosowana przez niektóre korporacje praktyka(potępiona też przez Linusa) prowadzi jedynie do problemów zdokładnością zegara, co gorsza nie ma żadnego ustalonegostandardu takiego rozsmarowywania.
Przy okazji dowiedzieliśmy się też, że Windows otrzyma obsługęnowego protokołu czasu PTP (Precision Time Protocol – IEEE1588v2), pozwalającego urządzeniom sieciowym na dodanie dopomiaru czasu opóźnień dodawanych przez infrastrukturę.
Kernel Windowsa będzie też oznaczał pakiety przed i po ichprzejściu przez komponenty sieciowe systemu, aby uniknąć problemówz desynchronizacją z usługą Windows Time na zdalnych urządzeniach,zwiększy dokładność zegara do 100 nanosekund na sekundę(wcześniej osiągał 6,4 mikrosekundy na sekundę) i zapewni lepszemechanizmy śledzenia i logowania pomiarów czasu.