Skok sekund w systemie Windows


38

Niedawno dodano sekundę przestępną 30 czerwca 2015 23:59:60 UTC.

Jak wdrażane są sekundy przestępne w systemie Windows (w szczególności Windows 7)?


7
Komputery stacjonarne (szczególnie tanie) słyną z niedokładnych zegarów, stąd użycie NTP. Wyłącz NTP w systemie Windows na jeden dzień i sprawdź, jak daleko przesuwa się od telefonu komórkowego (który korzysta z NTP). Możesz być zaskoczony, jak daleko się to posuwa.
Keltari,

2
@Keltari Nie sądzę, że telefony używają NTP. Dowodem jest to, że telefony automatycznie wyłączają czas z sieci komórkowej, nawet jeśli nie mają połączenia danych (np. Nie ma abonamentu), ale NTP wymaga połączenia danych. Państwo mogłoby uruchomić NTP na telefon. Być może niektórzy bez funkcji sieci komórkowej (telefony bez kart SIM lub tabletów) to robią. Ale wszystkie częste wymiany pakietów w celu dokładnego pomiaru przesunięć zegara w obliczu opóźnień prawdopodobnie kosztowałyby znacznie więcej czasu pracy baterii niż pobieranie zegara z sieci komórkowej, co jest mniej dokładne, ale wystarczająco dobre dla telefonu.
Celada

Odpowiedzi:


35

Jak usługa Czas systemu Windows traktuje sekundę przestępną

Usługa Czas systemu Windows nie wskazuje wartości wskaźnika skoku, gdy usługa Czas systemu Windows odbiera pakiet zawierający sekundę przestępną. (Wskaźnik skoku wskazuje, czy zbliżająca się sekunda przestępna ma zostać wstawiona czy usunięta w ostatniej minucie bieżącego dnia.) Dlatego po wystąpieniu sekundy przestępnej klient NTP, który uruchamia usługę Czas systemu Windows, jest o jedną sekundę szybszy niż rzeczywisty czas. Ta różnica czasu zostaje rozwiązana przy następnej synchronizacji.


23
To nie sekunda szybciej, ale sekunda do przodu.
Arturo Torres Sánchez

1
@ ArturoTorresSánchez Zależy od tego, czy sekunda przestępna jest dodawana czy usuwana. Możliwe, że autor tego tekstu miał na myśli negatywny skok. Negatywne sekundy przestępne jeszcze się nie wydarzyły, ale są możliwe i prawdopodobnie wspierane przez NTTP.
Pepijn Schmitz

19
@ ArturoTorresSánchez: Jedna sekunda szybciej i jedna sekunda do przodu to to samo, przynajmniej w amerykańskim angielskim. Jeśli zegar jest przed nami, jest szybki.
Yorik

16
W każdym razie „szybszy” to bezpośredni cytat z powiązanego artykułu. Więc musisz to pogodzić z Microsoftem, a nie z DuDE.
GalacticCowboy

11
@GalacticCowboy, tak, wiem, że to bezpośredni cytat. To mi przeszkadza. Szybszy zegar zsynchronizowałby się z czasem.
Arturo Torres Sánchez

35

Windows zwykle działa jako klient NTP . Po prostu zaktualizuje swój czas podczas następnej aktualizacji z serwera NTP, który wyraźnie ma metody obsługi sekund przestępnych. Stanie się tak, pod warunkiem, że twój system jest skonfigurowany do synchronizacji czasu przez NTP . Jeśli tak nie jest, nic się nie wydarzy, ponieważ system Windows 7 nie ma wbudowanej funkcji umożliwiającej radzenie sobie w sekundach przestępnych


11
„Windows 7 nie ma wbudowanej funkcji do radzenia sobie z sekundami przestępnymi” -… nie mógł również, ponieważ, w przeciwieństwie do dni przestępnych, sekundy przestępne są arbitralnie ustalane przez niektóre komitety. Ponieważ system Windows 7 nie może odczytać przyszłości, nie ma sposobu, aby sobie z tym poradzić bez skontaktowania się z serwerem.
BlueRaja - Danny Pflughoeft

27
@BlueRaja Windows może „czytać przyszłość”, używając publicznie dostępnych tzdata, które zawierają informacje o przyszłych sekundach przestępnych. W ten sposób systemy Unix radzą sobie poprawnie z sekundami przestępnymi. Ponadto pakiety NTP wskazują, kiedy sekunda przestępna ma nastąpić w ciągu następnych 24 godzin. Windows 8.1 i nowsze tak naprawdę używają bezpośrednio tzdata.
Neil Mayhew

8
Innymi słowy, i aby odpowiedzieć bezpośrednio na pytanie, nie są.
basic6

7

Nie są zaimplementowane.

Podobnie jak zegarek na rękę, czas na PC jest głupi. Jak wspomnieli inni, Windows 7 używa NTP do synchronizacji czasu komputera ze znanym źródłem. Co odpowiada od czasu do czasu dostosowaniu zegarka na rękę.

Jednakże , skok, drugi ma stać się problemem, jeśli masz zamiar napisać kod, który obejmuje data / czas matematyki, gdzie liczba sekund pomiędzy dwiema datami jest ważne, a gdzie te obliczenia musi zgadzać się z pewnego rodzaju systemu zewnętrznego lub danych jest świadomy drugiego kroku. Próbuję wymyślić takie scenariusze, ale wyobrażam sobie, że jest ich kilka.


2
Musi być gdzieś tutaj jeden: wired.com/2015/07/…
i_am_root

4

Windows po prostu tyka. Nie ma przepisu dotyczącego sekund przestępnych w usłudze czasu Windows. Ważne jest również, aby pamiętać, że żaden większy system operacyjny nie ma zabezpieczenia na sekundę przestępną.

Na pierwszy rzut oka może to brzmieć dziwnie. Jeśli zrozumiesz, po co jest sekunda przestępna i kiedy zostaną one dodane, stanie się to bardzo proste.

IERS monitoruje rotację Ziemi za nieprawidłowości. Niektóre czynniki zmieniają obrót Ziemi. Należą do nich tarcie pływowe i topnienie pokrywy lodowej kontynentu (zmiany masy!). Podsumowując, ziemia zwalnia bardzo nieznacznie .

Z Wikipedii :

Sekundy przestępne są nieregularnie rozmieszczone, ponieważ prędkość obrotu Ziemi zmienia się nieregularnie. Rzeczywiście, obrót Ziemi jest dość nieprzewidywalny w perspektywie długoterminowej, co wyjaśnia, dlaczego sekundy przestępne są ogłaszane tylko z sześciomiesięcznym wyprzedzeniem.

Ponieważ jest to nieregularne i ogłaszane w razie potrzeby , wszystkie nowoczesne systemy operacyjne polegają na protokole Network Time Protocol (NTP) w celu odzyskania od drugiego momentu. Jest to tak szeroko rozpowszechniony i znany problem bez wdzięcznego rozwiązania, że rynki azjatyckie opóźniły otwarcie o pięć minut, aby dać komputerom wystarczająco dużo czasu na sprawdzenie NTP pod kątem aktualizacji czasu w ostatnim skoku sekundowym.


3

Microsoft nie dba o zapewnienie bardzo dokładnego czasu klientom Windows. Skracali rogi i nie radzili sobie ze specjalnymi przypadkami, takimi jak sekundy przestępne dla klientów stacjonarnych. Na szczęście serwery NTP zapewniają lepszy czas, dlatego po prostu synchronizuj!

Usługa W32Time nie jest w pełni funkcjonalnym rozwiązaniem NTP, które spełnia potrzeby aplikacji wrażliwych na czas i nie jest obsługiwane przez Microsoft jako takie.

Jak działa usługa Czas systemu Windows


0

Jak wskazano w artykule dotyczącym obsługi systemu Windows Obsługa drugiego kroku :

Aktualizacja systemu Windows Server 2019 i Windows 10 października 2018 obsługuje sekund przestępnych na platformie.

Artykuł pomocy technicznej wyjaśnia również, w jaki sposób wcześniejsze wersje systemu Windows NIE obsługują sekund przestępnych. W szczególności:

Skokowe przetwarzanie nie jest obsługiwane osobno przez system operacyjny Windows (OS). Na przykład informacje o roku, miesiącu, dacie i godzinie w następującym formacie nie są obsługiwane przez system operacyjny Windows:

rrrr / mm / dd 08:59:60

Dlatego 2012/7/1 08:59:60 jest przetwarzany jako 2012/7/1 09:00:00, zgodnie z formatem ISO 8601.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.