Interesujące fakty na temat pomiaru czasu w komputerze

Autor: Judy Howell
Data Utworzenia: 2 Lipiec 2021
Data Aktualizacji: 1 Lipiec 2024
Anonim
KŁAMSTWO na temat SNU w które wierzysz - Sztuka spania i wstawania
Wideo: KŁAMSTWO na temat SNU w które wierzysz - Sztuka spania i wstawania

Zawartość


Źródło: ChakisAtelier / iStockphoto

Na wynos:

Prawdopodobnie nie myślisz zbyt dużo o zegarze na komputerze, ale jest wiele interesujących rzeczy, dzięki którym wszystko działa płynnie.

Prawdopodobnie nie myślisz zbyt dużo o zegarze na komputerze, chyba że zbliża się ważny termin, ale wiedza na temat tego, jak komputer utrzymuje czas, może sprawić, że system i sieć będą działać płynnie. Ponadto technologia komputerowa zmieniła sposób śledzenia, rejestrowania i rejestrowania czasu, co samo w sobie jest dość interesujące. Zobacz, jak komputery utrzymują czas.

Czas uniksowy

Wybacz, że jestem trochę zorientowany na Uniksa, ale spora część serwerów w Internecie używa czasu Uniksa. Jaki jest czas uniksowy? To jest właściwie całkiem proste. Jest to liczba sekund, które upłynęły od północy 1 stycznia 1970 roku UTC. (Wyjaśnię UTC nieco później w tym artykule). Nazywa się to „epoką”.

Wiele systemów Unix i Linux oblicza czas, obliczając epoki sekund i konwertując je na czas lokalny. Zaletą tego jest to, że dość łatwo jest obliczyć różnicę między dwiema datami i godzinami. Jeśli chcę dowiedzieć się, ile czasu minęło od północy 1 stycznia 1970 r., A teraz, to tylko proste odjęcie. Język programowania Perl ma możliwość obliczania epok sekund w dowolnym momencie, jaki chcesz sobie wyobrazić. (Możesz dowiedzieć się więcej o Perlu w Perlu 101.)


Istnieje również wiele zabawnych wzorów, które pojawiają się w miarę upływu sekund od 1970 roku. Wikipedia ma ich listę. Na przykład 13 lutego 2009 r. Liczba sekund osiągnęła 1 234 568 890. Tak, to wszystkie liczby zaczynające się od jednego. Były uroczystości w społecznościach technicznych na całym świecie. A dla tych z was, którzy nie są aż tak naukowi, nie, nie wymyślam tego.

Poważniejszą konsekwencją takiego zachowania czasu jest problem z 2038 r. Bez wchodzenia w zbyt szczegółowe szczegóły, w 2038 liczba sekund będzie zbyt duża, aby utrzymać 32-bitową liczbę całkowitą ze znakiem. Wiele systemów, w tym komputery wbudowane, nadal korzysta z procesorów 32-bitowych. Nadal mamy dużo czasu na konwersję na systemy 64-bitowe lub znalezienie innych obejść, ale jeśli pamiętasz klęskę Y2K, w której ludzie próbowali rozwiązać ten problem w ostatniej chwili, czasami po prostu nie ma ochoty coś z tym zrobić te rzeczy z góry.


Po całkowitym przejściu na procesory 64-bitowe będziemy mieli 292 277 026,596 sekund, zanim będziemy musieli ponownie przełączyć procesory. Jednak w tym momencie ludzkość prawdopodobnie będzie miała bardziej palące obawy niż zegary komputerowe - Słońce długo będzie połykać Ziemię.

UTC

Chociaż czas UTC lub uniwersalny czas koordynowany nie jest ściśle ograniczony do komputerów, jest to ważne dla sposobu działania ich zegarów. Jest to zamiennik czasu Greenwich, który uwzględnia spowolnienie Ziemi. Główny południk, na którym oparte są te obliczenia, wciąż znajduje się w Obserwatorium w Greenwich w Anglii. Dlaczego tutaj? To przejęcie Imperium Brytyjskiego.

Strefy czasowe są reprezentowane jako przesunięcia głównego południka. Na przykład mieszkam w strefie czasowej Pacyfiku, czyli UTC-8. A w czasie letnim to tak naprawdę UTC-7.

Bez błędów, bez stresu - Twój przewodnik krok po kroku do tworzenia oprogramowania zmieniającego życie bez niszczenia życia

Nie możesz poprawić swoich umiejętności programistycznych, gdy nikt nie dba o jakość oprogramowania.

UTC jest używany na wiele różnych sposobów, aby pozbyć się dwuznaczności na temat stref czasowych, w tym w lotnictwie, prognozowaniu pogody i obliczeniach. Większość komputerów reprezentuje lokalną strefę czasową jako przesunięcie czasu UTC, ale większość serwerów w Internecie wyraża czas ekspresowy w UTC. Możesz sprawdzić nagłówki pod kątem dowodów.

NTP

Podczas gdy serwery używają zegarów ustawionych na UTC, zegary komputerowe mają znany zwyczaj zwalniania. Posiadanie kilku niezsynchronizowanych zegarów może siać spustoszenie w takich rzeczach, które zależą od czasu. Właśnie dlatego powstał Network Time Protocol. Istnieje już od lat 80., utrzymując zegary komputerowe idealnie zsynchronizowane z NTP. Zwykle nie musisz o tym myśleć. W większości przypadków wystarczy włączyć NTP w systemie za pomocą plików konfiguracyjnych lub panelu sterowania, a NTP zajmie się resztą, kontaktując się z serwerami i okresowo synchronizując zegar komputera. (Dowiedz się więcej w Jak Network Time Protocol utrzymuje Internet tyka).

Czas ułamkowy

Ciekawym sposobem przedstawienia czasu jest użycie dni ułamkowych. Jest to forma czasu dziesiętnego reprezentująca czas jako procent upływającego dnia. Na przykład północ to 0,00, południe to 0,50, 18:00. wynosi 0,75 i tak dalej.

Aby uzyskać bieżący czas jako dzień ułamkowy, podziel bieżącą minutę przez 60 i dodaj ją do godziny. Na przykład, jeśli jest obecnie 13:24, to 24 podzielone przez 60 to 0,40, co daje 13,40. Dzielenie tego przez 24 daje 0,56. Możesz także mieć dowolną precyzję. Na przykład mogłem zapisać czas jako .5583333. Zaletą utrzymywania czasu w ten sposób jest to, że podobnie jak wspomniane powyżej sekundy z epoki, obliczanie różnic między dwoma czasami jest po prostu kwestią prostego odjęcia.

ISO 8601

Jeśli kiedykolwiek byłeś za granicą, zobaczysz, że istnieje wiele różnych sposobów przedstawiania dat. W Stanach Zjednoczonych miesiąc jest zwykle pierwszy, więc 15 stycznia 2018 r. Będzie reprezentowane jako 1/15/18. W innych miejscach dzień jest pierwszy, jak w 15/1/18. Może to powodować pewne problemy podczas komunikacji z ludźmi w różnych krajach.

Międzynarodowy standard ISO 8601 próbuje rozwiązać niektóre z tych problemów. To całkiem proste: RRRR-MM-DD. Wracając do naszego przykładu, przedstawionego zgodnie z ISO 8601, wyglądałoby to tak: 2018-01-15. Jest to jednoznaczne i „big-endian”, ponieważ rok jest pierwszy. Ten standard ułatwia także komputerom sortowanie według daty. Inne odmiany dołączają UTC lub pokazują liczbę dni w roku.

Wszystko w dobrym czasie

Czas jest ważny, a nawet ważniejszy dla komputerów. Mamy nadzieję, że w tym artykule dowiesz się, jak komputery śledzą czas za kulisami.