今天看啥
热点:

  首先要说明的是我的系统是fedora,其他系统可能不完全相同。

  ◆1,时间保存在硬件实时钟(RTC)中,RTC由主板电池供电,即使关断电源也不会造成时间丢失。

  ◆2,系统启动时从RTC获取时间,这个步骤在rc.sysinit中做:

  a),首先从/etc/sysconfig/clock中获取RTC相关参数UTC/ARC/SRM。UTC为true表示RTC保存的时间是UTC时间,false表示保存的是本地时间。ARC与SRM的含义参考hwclock的manpage,一般false即可;

  b),根据上面获取的内容构造hwclock命令的参数,将时间由RTC读取到系统时钟。

  *需要说明的一点是hwclock的输出是本地时间,localtime/utc参数只是用来告诉hwclock命令COMS时区是哪个时区。比如 Linux系统的系统时区设置为CST(中国标准时间),COMS时间采用墙上时间,即COMS时区也是CST,这时如果使用--utc参数,会让 hwclock误以为COMS时区为UTC,所以输出的时间会自动+8。

  ◆3,tzset():tzset在程序中用来初始化tzname等全局变量,它首先试图从环境变量“TZ”中获取时区,如果TZ环境变量存在,即 getenv("TZ")返回值不为NULL,且包含内容有效,则使用TZ值;如果该变量存在但内容无效,比如包含错误的时区名字,则使用UTC;如果该变量不存在,即getenv("TZ")返回NULL,则查找系统时区设置文件,一般是/etc/localtime。localtime所指文件的内容格式可参考tzfile(5)。

  ◆4,time():返回自00:00:00 UTC, January 1, 1970到现在所经过的秒数,注意,是UTC。

  ◆5,ctime()/localtime()/mktime():这类和时区相关的函数内部会调用tzset,但只是第一次调用tzset会做实际初始化,后面的调用都是直接返回。

  ◆6,系统关闭时,如执行shutdown/reboot/poweroff/halt等操作后,系统时间会保存到RTC中,这是在halt脚本中完成的,参看/etc/init.d/halt内容。

www.bkjia.comtruehttp://www.bkjia.com/jinghua/jinghua_89034.htmlTechArticle首先要说明的是我的系统是fedora,其他系统可能不完全相同。 ◆1,时间保存在硬件实时钟(RTC)中,RTC由主板电池供电,即使关断电源也不会...

相关文章

    暂无相关文章
相关搜索:
相关频道:

帮客评论

视觉看点