題 為什麼要在計算機上同步時間?


為什麼我需要在計算機上同步時間?

我的手錶在不使用任何NTP服務器的情況下每年給出的誤差不超過半秒。為什麼我需要將計算機與其他計算機同步?

為什麼一次設置正確的時間不夠呢?


3
2017-09-12 09:03


起源


誰說你需要? - Ƭᴇcʜιᴇ007
我的便宜手錶每天損失半秒鐘。 - Michael Hampton


答案:


我知道這主要是價格/盈利能力的問題。讓我解釋: 計算機的所有計時都會發生 振盪器電子電路,以某一頻率產生信號(通常在幾kHz到幾MHz的範圍內)。然而,沒有振盪器是100%準確的,諸如電源電壓,溫度,輻射,電磁影響等外部影響都會干擾產生的頻率。所有這些都可以或多或少得到補償(如非常精確的數字腕錶所示),但這需要額外的努力。此外,使其非常準確將需要單獨校準每個主板(甚至​​可能在更長的時間段內)。

由於精確的計時在普通計算機中並不是一個高優先級,因此計算機主板並未針對此目的進行高度優化,因此內部時鐘的準確性(無論是在計算機關閉時保持時間的“實時時鐘”)或者處理器提供的運行時鐘是有限的。

主板製造商沒有動力增加額外的電路或校準振盪器以使時鐘更準確:對於正常使用,時鐘精度(與便宜的手錶一樣,每月2-3秒)就足夠了。為了更好的準確性,可以通過互聯網輕鬆同步到NTP時間服務器。對於需要非常高精度或想要充當NTP服務器的人,存在特殊設備()通過DCF77或GPS從原子鐘接收時​​間(是的,GPS衛星內部有原子鐘)。

最終,使計算機時鐘非常準確,將其內置於每台計算機中的成本太高,特別是考慮到現有的廉價解決方案,如NTP時間服務器。 Windows例如從Microsoft時間服務器自動同步時間。


4
2017-09-13 06:57





每當您重新啟動計算機時,Windows操作系統時鐘都以與實時時鐘相同的值啟動,但從那時起,它通過週期性時鐘中斷完全獨立於RTC進行更新。因此,隨著時間的推移(即係統運行時),Windows操作系統時鐘可能與實際硬件RTC時鐘(即實際“掛鐘”時間)不同步。

發生這種情況是因為系統運行時,某些軟件和操作系統功能有時必須禁用所有中斷,導致操作系統有時錯過時鐘中斷。大多數禁用所有中斷的軟件(包括Windows操作系統)都不會長時間禁用中斷(通常只能在非常短的時間內 - 通常只有幾微秒(百萬分之一秒)),但是因為它們會不時地禁用所有中斷,不幸的是,時鐘滴答會不定期地丟失,並且隨著時間的推移,加起來,導致Windows操作系統時鐘有時與實際的“掛鐘”時間有很大差異(有時候幾分鐘或者幾分鐘)更多,取決於系統負載以及在所討論的時間段內運行的軟件程序的種類和類型。

以下描述了一種不同類型的時鐘,與時間日無關,但可能有用。

更多閱讀:

本指南旨在作為任何數字設備極簡主義核心的時鐘週期背後的基本解釋。它絕不是一本全面的指南,但希望更多地介紹那些真正被計算機操作困惑的人。

計算機世界是二元的。無論芯片或架構多麼複雜,數字組件都依賴於1和0,on和off。但如果一台計算機只是一系列交換機,它怎麼可能執行我們認為理所當然的日常任務呢?它涉及開關晶體管的複雜和多樣化的實現。

你可以像分子一樣分解計算機芯片。分子由原子,電子原子等組成。芯片由邏輯功能單元組成,邏輯功能單元由簡單的門組成,這些門由最基本的晶體管構成。

在完美的世界中,開關(如晶體管)將在零時間內運行。換句話說,它們會立即直接從0到1或1到0。使用當前的技術,這是不可能的,並且在構建複雜的數字系統時會產生問題。根據邏輯功能的複雜性,晶體管的數量會有所不同。這帶來了並排操作的許多邏輯功能的集成問題。

我們舉一個例子來添加兩個數字,然後將結果存儲到內存中。加法功能比簡單的存儲功能需要更多的晶體管。由於add函數中有更多晶體管,因此信號通過加法器所需的時間比通過存儲邏輯所需的時間長。這會導致系統不穩定。由於存儲功能將在加法器之前完成,因此可能存儲的值不正確。

想想兩個人走路。你把一個人放在一條1公里的直道上,另一個人在一條2公里的彎路上,告訴他們同時越過終點線。第二個人走路的時間要長得多,所以第一個人必須等到越線。這就是計時的概念所在。

數字系統使用時鐘作為“停止和等待”機制,以使芯片內的所有不同功能保持在同一頁面上。時鐘脈衝必須足夠長,以使所有操作都達到穩定狀態。這樣操作“同時越過終點線”。現在不是時鐘讓事情“等待”,而是芯片和功能只在時鐘脈衝的某些階段運行如下。大部分時間它們都是經營期間:

  •     上升沿(時鐘從0變為1的瞬間)   
  •      下降沿(1到0)
  •     嗨true:只要時鐘為1就可以運行
  •    低真:只要時鐘為0就運行

超頻利用了這種穩定性。當您增加時鐘時,您將減少可用於穩定功能的等待時間。如果你將這個例子與加法器和存儲器一起使用並且你的時鐘增加太多,你最終會在加法過程的一半時間存儲數據(就像沒有時鐘一樣),所以它可能完全不正確。這會導致過度超頻所固有的不穩定性。

從外部看,數字設備的功能令人困惑(對於那些了解數字系統的人多路復用:-P)。然而,當你把它分解為正在發生的事情的核心時,1和0,它並不是完全難以想像的。我希望這有助於讓人們了解當今市場上電腦,手機,相機或任何設備上發生的事情。


7
2017-09-12 09:08



有趣:在Gnu / Linux上,系統時間在關機時保存到硬件時鐘,因為硬件時鐘比系統時鐘準確。因此硬件時鐘僅在系統關閉(和引導)時使用。對於您提供的情況,可以通過在重新啟用中斷後重新讀取硬件時鐘來修復它。 - ctrl-alt-delor
您從More Reading中添加的所有內容都完全偏離主題。它是一種不同類型的時鐘。這種類型的時鐘與時間無關。 - ctrl-alt-delor


  • 所以你永遠不必設置它。
  • 因此,網絡上的所有節點都是相同的,具有高精度。某些應用需要這樣的如果您正在嘗試調查發生的事情,請在共享文件系統上記錄日期。

4
2017-09-12 09:10