免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1513 | 回复: 4
打印 上一主题 下一主题

时间问题---FC1里的时钟不能和CMOS里的时钟同步 [复制链接]

论坛徽章:
8
综合交流区版块每周发帖之星
日期:2015-12-02 15:03:53数据库技术版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-09-14 06:20:00金牛座
日期:2014-10-10 11:23:34CU十二周年纪念徽章
日期:2013-10-24 15:41:34酉鸡
日期:2013-10-19 10:17:1315-16赛季CBA联赛之北京
日期:2017-03-06 15:12:44
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-08-15 08:23 |只看该作者 |倒序浏览
我是在WinXP的VirtualPC里装的FC1,但是时钟出现问题,发现启动FC1的时候时间是和WinXP是一样的,但是随着时间的流失,发现越来越落后于WinXP的时间.不知道FC1怎么和WinXP的时钟显示是一样的.也就是说:FC1里的时钟不能和CMOS里的时钟同步.不知道怎么解决?请高人指点.

论坛徽章:
0
2 [报告]
发表于 2005-08-15 09:18 |只看该作者

时间问题---FC1里的时钟不能和CMOS里的时钟同步

[quote]原帖由 "ruochen"]我是在WinXP的VirtualPC里装的FC1,但是时钟出现问题,发现启动FC1的时候时间是和WinXP是一样的,但是随着时间的流失,发现越来越落后于WinXP的时间.不知道FC1怎么和WinXP的时钟显示是一样的.也就是说:FC1里的时钟不能..........[/quote 发表:

First set the correct date.
#date MMDDhhmm
then update hardware clock.
#hwclock --systohc

论坛徽章:
8
综合交流区版块每周发帖之星
日期:2015-12-02 15:03:53数据库技术版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-09-14 06:20:00金牛座
日期:2014-10-10 11:23:34CU十二周年纪念徽章
日期:2013-10-24 15:41:34酉鸡
日期:2013-10-19 10:17:1315-16赛季CBA联赛之北京
日期:2017-03-06 15:12:44
3 [报告]
发表于 2005-08-16 12:31 |只看该作者

时间问题---FC1里的时钟不能和CMOS里的时钟同步

还是不行呀
我用
#date MMDDhhmm
#hwclock --systohc
#hwclock --hctosys

三个命令后,还是不行!~

论坛徽章:
8
综合交流区版块每周发帖之星
日期:2015-12-02 15:03:53数据库技术版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-09-14 06:20:00金牛座
日期:2014-10-10 11:23:34CU十二周年纪念徽章
日期:2013-10-24 15:41:34酉鸡
日期:2013-10-19 10:17:1315-16赛季CBA联赛之北京
日期:2017-03-06 15:12:44
4 [报告]
发表于 2005-08-16 12:43 |只看该作者

时间问题---FC1里的时钟不能和CMOS里的时钟同步

我的系统我感觉是FC1里的时钟比winXP的慢,

比如说
我是22:30分启动的fc1,立即date看时间发现是22:30
等到winxp显示时间是22:36的时候,我再用date看FC1的时间,发现是22:33
???????????


实际时间走了6分钟,但是我FC1里才走3分钟,很邪门!!!

论坛徽章:
8
综合交流区版块每周发帖之星
日期:2015-12-02 15:03:53数据库技术版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-09-14 06:20:00金牛座
日期:2014-10-10 11:23:34CU十二周年纪念徽章
日期:2013-10-24 15:41:34酉鸡
日期:2013-10-19 10:17:1315-16赛季CBA联赛之北京
日期:2017-03-06 15:12:44
5 [报告]
发表于 2005-08-16 22:44 |只看该作者

时间问题---FC1里的时钟不能和CMOS里的时钟同步

http://www.imacat.idv.tw/tech/vsntp.html

vsntp v1.1.1
说明
vsntp 是 SNTP 客户端服务程式,专为时间不正常的系统设计。 vsntp 的意思是 SNTP for Virtual PC ,原先是我为了在 Connectix Virtual PC 上跑 GNU/Linux 系统而写。 vsntp 依 RFC 1769 SNTP 标准,连线到 NTP 伺服器上的 UDP 埠 123 以校时。 vsntp 只在 GNU/Linux 系统上测试执行过。

若没有装 Virtual PC Additions , Virtual PC 的时间很乱。 Virtual PC 的 RTC ( Real Time Clock, 或称 CMOS 时钟、硬体时钟)是用软体模拟出来的,往往根本没有在跑。 GNU/Linux 核心勉强维持一个大概的时间。正常情况下,平均一分钟会快四秒,一天快一个半小时。这实在是太夸张了,用眼睛都分辨得出时钟速度有问题。

David L. Mills 的 ntp 校时伺服器在此完全失灵。 ntp 先测出系统时间速度偏移,用 adjtimex() 来调整系统时钟速度,用这个方法渐近式调整,系统本身和相关应用程式比较不会出问题。这个方法有一个前提:时间速度本身恒定不变。可是 Virtual PC 不讲这一套。 Virtual PC 的时间纯粹是软体模拟出来的,受主电脑负荷与其它因素影响,时快时慢。没有固定的时间速度,也就没有时间速度偏移值。怎么测都是枉然。

David L. Mills 的 ntp 程式里,附了一个 sntp 客户端程式,可以放在 crontab 里定期对时,对时完结束程式。问题是, crontab 最小单位为分,顶多一分钟跑一次,可是 Virtual PC 的时间一分钟慢四秒。一分钟退回四秒,大多数应用程式都受不了。一分钟跑一次,对系统的负荷也很大。

vsntp 是为此而写的。它以 daemon 来执行,以免每次对时都对系统造成严重负荷。它用 settimeofday() 来调整时间,校时频率可任意设定,尽可能把系统时钟误差,维持在一秒以内。

vsntp 的做法有下列缺陷:频繁校时时,网路流量很大,频宽的负荷不小,对对方 NTP 伺服器也会造成很大的负担。你最好自己在区网内,架一台自己的 NTP 伺服器。同时因 settimeofday() 强制时间设定太频繁了,系统的高精度计时功能会出问题。

vsntp 是我写的第一个 daemon ,我写的第一个 socket 程式,也是我第一个公开发行的 C 程式。请多多指教~ ^_*'

下载
vsntp 的官方网站在:

SourceForge 上的网站: http://vsntp.sourceforge.net/
SourceForge 上的专案页: https://sourceforge.net/projects/vsntp/
旅舍依玛上的网页: http://www.imacat.idv.tw/tech/vsntp.html
最新版 vsntp 可由下列位址下载:

SourceForge : https://sourceforge.net/project/sho...?group_id=99098
旅舍依玛的 FTP : ftp://ftp.imacat.idv.tw/pub/vsntp/
依玛猫的 PGP Public Key 在:

SourceForge : http://vsntp.sourceforge.net/pgpkey.asc
旅舍依玛: http://www.imacat.idv.tw/me/pgpkey.asc
编译及安装
vsntp 使用标准的 GNU autoconf 法编译安装:

下载 vsntp 并解压缩:
% tar xzf vsntp-x.x.x.tar.gz

进入 vsntp 的子目录:
% cd vsntp-x.x.x

执行 ./configure 设定:
% ./configure

以 make 编译:
% make

编译出来的档案为 vsntp 。
要安装程式,你可能要先 su 到 root ,用 root 的权限安装:
% su
Password:
#

将 vsntp 档复制到适当的目录即可:
# cp vsntp /usr/local/sbin

或者,你也可以用自动安装:
# make install

你可以边装边清掉档案里的除错符号,安装起来档案比较小:
# make install-strip

用上述方式安装时, vsntp 预设安装目录在 /usr/local/sbin 。
启动及停止
要有 root 权限才能执行 vsntp 。 vsntp 用 settimeofday() 对时,没有 root 权限不能执行 settimeofday() 。

要启动 vsntp ,加上对时用的 NTP server 即可:

# vsntp my.ntp.server.com

vsntp 会把 PID 存在 /var/run/vsntp.pid 。要结束程式,只要 kill 它的 PID 即可:

# kill `cat /var/run/vsntp.pid`

你可以用 -p 选项,更改 PID 档的位置。

命令列参数
vsntp [-i 秒数] [-p 档案] 伺服器
vsntp [-h|-v]

server
要对时用的 NTP 伺服器。
-i,--interval 秒数
每隔几秒对时一次。预设为 900 秒( 15 分钟)。
-p,--pidfile 档案
PID 档存放位置。预设为 /var/run/vsntp.pid 。
-h, --help
显示程式说明。
-v, --version
显示程式版本。
错误回报
vsntp 网站架在 SourceForge 与 旅舍依玛。索取最新资讯,请驾临:

http://vsntp.sourceforge.net/
https://sourceforge.net/projects/vsntp/
http://www.imacat.idv.tw/tech/vsntp.html
vsntp 在 SourceForge 上有一个邮件通讯 vsntp-users@lists.sourceforge.net 。使用上的问题、建议或错误回报,请提到通讯上讨论。它是 Mailman 的邮件通讯。若要加入,请到 https://lists.sourceforge.net/lists...nfo/vsntp-users 。你也可以写信到 vsntp-users-request@lists.sourceforge.net ,标题填上 help ,索取 E-mail 指令说明。

参考资料
settimeofday() 与 adjtimex() 。
ntp : http://www.ntp.org/ 。
RFC 1769 SNTP : http://www.faqs.org/rfcs/rfc1769.html 。
RFC 1305 NTP : http://www.faqs.org/rfcs/rfc1305.html 。
作者
依玛猫 <imacat@mail.imacat.idv.tw>; 。

版权声明
版权所有 © 2003 依玛猫。

本程式是自由软体,您可以遵照自由软体基金会 (Free Software Foundation) 出版的 GNU 通用公共许可证条款 (GNU General Public License) 第二版来修改和重新发布这一程式,或者自由选择使用任何更新的版本。

发布这一程式的目的是希望它有用,但没有任何担保。甚至没有适合特定目的而隐含的担保。更详细的情况请参阅 GNU 通用公共许可证。

您应该已经和程式一起收到一份 GNU 通用公共许可证的副本。如果还没有,写信给: Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP