嵌入式爱好者

嵌入式爱好者 门户 知识库 查看内容

linux的时间管理机制

2020-6-18 16:42| 发布者: ljb2019001| 查看: 292| 评论: 0

类目:  >  知识库     文档编号: 374

一,首先搞清楚RTC在kernel内的作用:
当系统启动时,内核通过读取RTC来初始化系统实际时间
如果没有RTC电路或者RTC电路没有电池,那么系统启动会从默认的时间开始,335xD是1970年1月1日0点开始计时
linux系统有两个时钟:实时时钟和系统定时器
1.  RTC(实时时钟)或者叫CMOS时钟,硬件时钟 保存到变量xtime
2.  System clock 也叫 内核时钟 或者 软件时钟 或者叫 系统定时器   保存到全局变量jiffies

内核在启动时从RTC中读取  给系统时间 xtime 初始化
内核在需要时将时间与日期回写到RTC中

二,相关命令
date命令    获取的是内核xtime时间,同样它设置的也是内核xtime时间
date    查看或设置系统时间时间
date -u 查看utc时间标准时间
date -R 查看系统是什么时区的时间
hwclock命令 -w 把系统时间更新至RTC    -s 把RTC时间更新至系统
hwclock  查看硬件RTC时间
hwclock -w 将设置的系统时间保存到rtc上
三,时区问题
为了使世界上不同地方的系统能有一个统一的时间
linux中保存的时间都是世界标准时间
在linux的/etc/localtime文件  该文件就是时区文件,
例如上海时间,把 ubuntu 上的/usr/share/zoneinfo/Asia 中的文件 Shanghai 拷贝到开发板目录/etc 中并且改名为 localtime
那么时区是怎么影响实际时间的呢?
我说过linux保存的都是世界标准时间,我在8时区设置8点后,更换0时区文件,再查看时间变成0点,就是说  系统实际时间=系统保存的世界时间+时区差
几个常见的时区
CST:中国标准时间  东8时区
UTC:世界标准时间
GMT:格林尼治标准时间

已解决

未解决

只是看看

最新评论

QQ|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )

GMT+8, 2024-4-20 16:58

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

返回顶部