接著将这个总偏差秒数除以日数以便取得新的校正因子, 然後将档案 /etc/adjtime 中旧的校正因子代换成新的. 最後写下新的校正日期 (以秒数或日数为单位) 以便下次使用.
这里是我的 /etc/adjtime 档案内容:
-9.600000 845082716 -0.250655
(注意每天 9.6 秒则一个月将近有 5 分钟的偏差!)
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
3. xntpd 简介
你的系统实际上有二个时钟-- 一个是当系统关机继续使用电池电力维持计时功能的 ``real time clock"" (也就是所谓的 ``CMOS 时钟"", ``硬体时钟"", 或 ``RTC"") 而另一个是 ``kernel clock"" (有时称为 ``软体时钟"" 或 ``系统时钟"") 系统时钟的跳动是以计时器的中断信号为基准并在开机时从CMOS 时钟处载入初始值. 这二个时钟有不同的时间偏差率, 所以二个时钟上的时间会逐渐地产生偏差, 而且也会与 ``真正的""时间产生偏差.
在 xntpd 文件中所述及的 ``the clock"" 就是指 ``kernel clock"". 当你执行 xntpd 或 timed 程式时 (或是其他使用到 adjtimex 系统呼叫的程式) linux 作业系统会假定系统时钟比 CMOS 时钟准确, 而且会在开机後每隔 11 分钟重新设定一次 CMOS 时间 (一直到重开机为止). 这意味著 ``clock"" 程式不再知道上一次重新设定 CMOS 时钟的正确时间, 所以你不可以使用档案 /etc/adjtime 中的校正因子. 你可以在开机执行档上使用 ntpdate 程式以便在初次执行 xntpd 程式之前与校时伺服器对时. 如果你在开机的时候一直无法连上准确的校时源, 这可能会让你面临到一些困境-- 实际上 xntpd 不是被设计来在那种情况之下使用的.
Xntpd 包含了许多无线电时钟的驱动程式, 并且也可以被设定在一定的周期内拨电话至 NIST 的电话拨接电脑校时服务 (当你设定好电话拨接的周期之後最好先计算一下电话帐单的花费). 在与其他的校时源失去联络一段时间之後这个方式也能提供系统时钟一个校正因子.
大部分的无线电时钟大约要花费 $3-4K, 不过你可以采用较便宜的 ``gadget box"" 方案 (实际上是一个 300 baud 的数据机) 他被放在你的电脑与一台短波无线电接收器之间频道调至 Canada 的 CHU 校时无线电台 (参见网址 ftp://ftp.udel.edu/pub/ntp/gadget.tar.Z). 而Heathkit WWV 接收器 (``最准确的时钟"") 仍然买的到 (但不是一组套件), 大约要花费 $4-500. 目前GPS 的讯号里仍然包含有校时的资讯, 而且部分的 GPS 接收器可以接上电脑的串列埠. 在最近的未来这可能会成为低价位的解决方案.
理论上, 一般人可以自己写程式来使用 NIST 的电话拨接电脑校时服务以便自动计算 CMOS 时钟与系统时钟的偏差率. 虽然我不知道是否有单独的程式能够达到这个目的, 但是大部分的程式码应该可以借用自 xntpd 程式集.
--------------------------------------------------------------------------------
推荐阅读
- 爱情与花的经典语录
- 如何防治草鱼细菌性与病毒性出血病
- 如何追到不爱说话的女孩
- 养老保险缴费基数怎么核算
- 微信如何更新
- 吃羊腰子的功效与作用 吃羊腰子的功效
- 华为智慧屏如何取消视频会员包月
- Linux 核心--17.关于Linux的Web与FTP站点 --18.作者简介
- 同学与朋友有区别吗
- 股票如何分红
