我突然想到,当我关闭机器然后稍后再次启动它时,它怎么知道日期和时间,而无需检查其服务器(当有互联网连接时它也会检查)?我正在运行带有 GNOME 3.20 的 Ubuntu GNOME 16.04,我突然对此非常好奇。
我的机器中可能有某种时钟,但如果我完全关闭机器,时钟会出错吗?
答案1
不会,不会误入歧途。RTC(实时时钟)芯片:
在我的情况下,主板由 CR2032 电池供电:
甚至许多笔记本电脑都有内置 CR2032。我在更换其中一台笔记本电脑的 CPU 风扇时发现了这一点。由于拆开它太麻烦了,所以我更换了它,尽管它还没坏 :)
是的,这些电池在使用 6 年后就会失效……(当然,您的里程可能会有所不同,这取决于计算机使用交流电的时间长短与仅靠小电池供电的时间长短。)
奖励材料!
如果你曾经使用过 Windows 双启动,并且不经常连接到互联网,你会注意到时钟经常出错。这是因为 Ubuntu 使用 UTC,而 Windows 使用 LT。因此,它们都认为连接到互联网时 RTC 的时间是错误的,并将其重置为正确的那个操作系统。但是当你切换操作系统时,这种情况又会发生!
答案2
我相当确定这就是计算机拥有 BIOS 时钟的原因:这样操作系统就可以读取它并保持准时。
关闭机器可能会关闭操作系统,但计算机仍处于通电状态,这意味着它仍能保持硬件时钟运行。大多数计算机(甚至笔记本电脑)还安装了手表电池,即使机器的其他部分断电,它也能让时钟继续运行。如果电池没电了,BIOS 时钟也会重置。
因此,操作系统关闭并停止计时。当您重新启动它时,它会读取硬件时钟并相应地调整其时间(读取 BIOS 时钟的时区,调整操作系统时钟的时区)。除非电池没电,否则硬件时钟将始终处于开启状态,因此它始终在计时。
答案3
这是由于计算机内部的一个小装置,称为实时时钟。它通常由一小块纽扣电池供电,并且(通常)无法关闭,除非物理取出主板并取出纽扣电池;因此,不,关闭电脑不会让时钟走错. 纽扣电池做耗尽电力,但需要很长时间(通常10年以上)。