为什么要在电脑上同步时间?

Kir*_*sky 3 time ntp

为什么我需要在我的电脑上同步时间?

我的手表在不使用任何 NTP 服务器的情况下每年误差不超过半秒。为什么我需要将一台计算机与其他计算机同步?

为什么设置一次正确的时间还不够?

Dav*_*ave 7

每当您重新启动计算机时,Windows 操作系统时钟都会以与实时时钟相同的值开始,但从那时起,它会通过周期性时钟中断完全独立于 RTC 进行更新。因此,随着时间的推移(即随着系统运行),Windows 操作系统时钟可能与实际硬件 RTC 时钟(即实际“挂钟”时间)不同步。

发生这种情况是因为在系统运行时,某些软件和操作系统功能有时必须禁用所有中断,从而导致操作系统有时会错过时钟中断。大多数禁用所有中断的软件(包括 Windows 操作系统)不会长时间禁用中断(通常只有很短的时间——通常最多只有几微秒(百万分之一秒)),但是因为它们不时禁用所有中断,不幸的是,时钟滴答会周期性地丢失,并且随着时间的推移,加起来,导致 Windows 操作系统时钟有时与实际的“挂钟”时间有很大不同(有时相差几分钟或更多的,

下面描述了另一种时钟,与时间日期无关,但可能有用。

更多阅读:

本指南旨在作为任何数字设备极简核心的时钟周期背后的基本解释。它绝不是一个全面的指南,但希望更多地是对那些真正对计算机操作感到困惑的人的介绍。

计算机的世界是二进制的。无论芯片或架构多么复杂,数字组件都依赖于 1 和 0、开和关。但是,如果计算机只是一系列开关,它怎么可能执行我们认为理所当然的日常任务?它处理开关开关(晶体管)的复杂而多样的实现。

您可以像分解分子一样分解计算机芯片。分子由原子、电子原子等组成。一个芯片由逻辑功能单元组成,逻辑功能单元由简单的门组成,而这些门在最基本的层面上由晶体管组成。

在一个完美的世界中,开关(如晶体管)将在零时间内运行。换句话说,它们会立即从 0 直接变为 1 或从 1 变为 0。以目前的技术,这是不可能的,并且在构建复杂的数字系统时会产生问题。根据逻辑功能的复杂程度,晶体管的数量会有所不同。这就带来了许多并行运行的逻辑功能的集成问题。

让我们举一个例子,将两个数字相加,然后将结果存储到内存中。加法函数比简单的存储函数需要更多的晶体管。由于加法函数中有更多的晶体管,因此信号通过加法器所需的时间比通过存储逻辑所需的时间更长。这会导致系统不稳定。由于存储功能将在加法器完成之前完成,因此它可能存储不正确的值。

想想两个人走路。您将一个人放在 1 公里的直线路径上,另一个人放在 2 公里的弯曲路径上,并告诉他们同时越过终点线。第二个人走他们的路需要更长的时间,所以很明显第一个人必须等待过线。这就是时钟概念的由来。

数字系统使用时钟作为“停止和等待”机制,以保持芯片内的所有不同功能在同一页面上工作。时钟脉冲必须足够长以允许所有操作达到稳定状态。这样操作“同时越过终点线”。现在不是时钟让事情“等待”,而是芯片和功能只在时钟脉冲的某些阶段运行,如下所示。在大多数情况下,它们经营期间:

  • 上升沿(时钟从 0 变为 1 的瞬间)
  • 下降沿(1 到 0)
  • Hi true:只要时钟为 1 就运行
  • 低真:只要时钟为 0 就运行

超频利用了这种稳定性。随着时钟的增加,您正在减少可用于功能稳定的等待时间。如果您将示例与加法器和存储一起使用,并且将时钟增加太多,那么您最终会在加法过程中途存储数据(就像根本没有时钟一样),因此它可能完全不正确。这会导致过度超频所固有的不稳定性。

从外面看,数字设备的功能令人困惑(对于那些了解数字系统的人来说,多路复用 :-P)。但是,当您将其分解为正在发生的事情的核心时,即 1 和 0,就不难想象了。我希望这有助于人们对计算机、手机、相机或当今市场上任何数量的设备中发生的事情有一个基本的了解。

  • 有趣:在 Gnu/Linux 上,系统时间在关机时保存到硬件时钟,因为硬件时钟不如系统时钟准确。因此硬件时钟仅在系统关闭(和启动)时使用。对于您提供的情况,可以通过在重新启用中断后重新读取硬件时钟来修复。 (6认同)
  • 您从“更多阅读”中添加的所有内容都完全偏离主题。它是关于一种不同类型的时钟。这种时钟与时间无关。 (2认同)