标准时间GMT|UTC以及NTP协议学习 OS

admin 7月前 128

1.GMT时间

        GMT,Greenwich MeanTime,中文名为格林尼治时间。英国的格林尼治这个城市在经度为零的地球经线上,所以地球以格林尼治所在的0度经线为标准,分为24个时区。自格林尼治以东依次为东一区、东二区等等,自格林尼治以西依次为西一区、西二区等等。例如,北京是处在东八区,和格林尼治相比,时间快了8个小时。

         理论上来说,格林尼治标准时间的正午是指当太阳横穿格林尼治子午线时(也就是在格林尼治上空最高点时)的时间。由于地球在它的椭圆轨道里的运动速度不均匀,这个时刻可能与实际的太阳时有误差,最大误差达16分钟。

由于地球每天的自转是有些不规则的,而且正在缓慢减速,因此格林尼治时间已经不再被作为标准时间使用。现在的标准时间,是由原子钟报时的协调世界时(UTC)。

  UTC,Coordinated Universal Time,中文名为协和标准时间。UTC是利用原子中来计时的,原子钟主要是利用计算芯片的原子震荡周期来计时的。

 

2.Linux机器的时间

Linux机器中有两个时间,分别是软件时钟和硬件时钟。其中

软件时钟是Linux自己的系统时间,从1970年1月1日开始计算的总秒数

硬件时钟是主机是硬件系统上面的时钟,例如BIOS记录的时间

但是由于软件时钟和硬件时钟都会因为软件或硬件问题而与准确的UTC时间有所偏差。如果有很少的计算,可以使用date命令来修改时间,但是如果有很多计算机,那么就需要这些计算机能自动与准确的UTC时间保持同步。那么就会用到NTP。

 

3.NTP

时间同步的协议有DTSS以及NTP等,目前最常使用的是NTP。

NTP,Network Time Protocol,NTP协议工作的过程大致如下:

(1)网络上某台主机启动一个NTP Server的daemon进程

(2)client会向NTP Server发送出校对时间的messge

(3)NTP Server会送出当前的标准时间给client

(4)client接收了来自NTP Server的时间后,会据以调整自己的时间

这样就实现了网络校对。

备注:网络上公开的NTP Server的有很多,例如我国的授时中心服务器的IP地址为210.72.145.44

 

4.Linux修改时间的方式

(1)手动修改

date——修改软件时钟,例如date 072816332011

hwclock——修改硬件时钟,就是BIOS记录的时间,例如hwclock -r读取BIOS中记录的时间。hwclock -w将软件时钟记录的时间写入到BIOS中,是二者一样。

备注:通常我们修改了Linux的系统时间后,要使用hwclock-w将该时间写入到BIOS中,这是因为如果计算机重启时,会从BIOS中读取时间作为系统时间。

(2)网络校时

使用ntpdate命令校时即可。



少客联盟- 版权声明 1、本主题所有言论和图片纯属会员个人意见,与少客联盟立场无关。
2、本站所有主题由该帖子作者发表,该帖子作者admin少客联盟享有帖子相关版权。
3、少客联盟管理员和版主有权不事先通知发贴者而删除本文。
4、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者admin少客联盟的同意。
5、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任。
6、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责。
7、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意。
8、官方反馈邮箱:chinasuc@chinasuc.cn


上一篇:用户态文件系统fuse概念学习
下一篇:linux下各种*-dev或*-devel包的作用
Whatever is worth doing is worth doing well. juvenile hacker league
最新回复 (0)
    • 少客联盟
      2
        登录 注册 QQ登录(停用)
返回