clock_gettime接口和linux时间系统
2017-02-13 16:04
330 查看
RTC/OSC
RTC,Real Time Clock,真实时钟,也叫做CMOS时钟,又叫walltime
OSC,Operation System Clock,系统时钟。在开机时操作系统取得RTC中的时间数据来初始化OSC,之后完全由完全由操作系统控制。
当设置OSC时间时,RTC时间不会自动同步,待关闭或者重启时,操作系统会自动同步OSC时间到RTC, 操作系统每隔一个固定时间会刷新或校正RTC中的信息,当操作系统关机时,时间交由主板上的RTC去记时,因为主板上的CMOS有锂电池供电.
当再次开机时,操作系统会去主板RTC上获取时间。
CLOCK_REALTIME/CLOCK_REALTIME
CLOCK_REALTIME,真实时间,walltime,即RTC,会被settime()/settimeofday()影响。
CLOCK_MONOTONIC,单调时间,即从某个时间点开始到现在过去的时间。用户不能修改这个时间,但是当系统进入休眠(suspend)时,CLOCK_MONOTONIC是不会增加的。不会被settime()/settimeofday()影响。
NTP的影响
如果NTP调整时间时调用了adjtimex()接口,会同时对CLOCK_REALTIME和CLOCK_MONOTONIC都有影响。
CLOCK_MONOTONIC_RAW
与monotonic时间类似,也是单调递增的时间,但raw monotonic time不会受到NTP时间调整的影响
int clock_gettime(clockid_t clk_id, struct timespec *tp);
clk_id为CLOCK_MONOTONIC,则返回系统启动后秒数和纳秒数。
clk_id为CLOCK_REALTIME,则返回RTC
RTC,Real Time Clock,真实时钟,也叫做CMOS时钟,又叫walltime
OSC,Operation System Clock,系统时钟。在开机时操作系统取得RTC中的时间数据来初始化OSC,之后完全由完全由操作系统控制。
当设置OSC时间时,RTC时间不会自动同步,待关闭或者重启时,操作系统会自动同步OSC时间到RTC, 操作系统每隔一个固定时间会刷新或校正RTC中的信息,当操作系统关机时,时间交由主板上的RTC去记时,因为主板上的CMOS有锂电池供电.
当再次开机时,操作系统会去主板RTC上获取时间。
CLOCK_REALTIME/CLOCK_REALTIME
CLOCK_REALTIME,真实时间,walltime,即RTC,会被settime()/settimeofday()影响。
CLOCK_MONOTONIC,单调时间,即从某个时间点开始到现在过去的时间。用户不能修改这个时间,但是当系统进入休眠(suspend)时,CLOCK_MONOTONIC是不会增加的。不会被settime()/settimeofday()影响。
NTP的影响
如果NTP调整时间时调用了adjtimex()接口,会同时对CLOCK_REALTIME和CLOCK_MONOTONIC都有影响。
CLOCK_MONOTONIC_RAW
与monotonic时间类似,也是单调递增的时间,但raw monotonic time不会受到NTP时间调整的影响
int clock_gettime(clockid_t clk_id, struct timespec *tp);
clk_id为CLOCK_MONOTONIC,则返回系统启动后秒数和纳秒数。
clk_id为CLOCK_REALTIME,则返回RTC
相关文章推荐
- VMware中CentOS下安装vmWare tools
- Linux安装管理iSCSI卷(initiator端)
- Linux常用命令
- 浅析CentOS和RedHat Linux的区别
- CENTOS 配置串口连接
- vmware horizon client for centos安装使用
- Centos7 文件系统损坏
- 基于嵌入式Linux的千兆以太网卡驱动程序设计及测试
- Linux系统调用--getrlimit()与setrlimit()函数详解
- centos7更改dns配置
- linux学习笔记——进程的查看和管理、systemctl命令
- day07 复习练习
- linux下集群技术介绍高可用集群之Keepalived
- 构建Xenomai的Linux实时系统
- Linux下桥接模式详解一
- centos7 安装dnf包管理器和常用命令
- VirtualBox 安装Centos7 无法上网 ping不同的解决方法
- linux常用命令总结
- 忘记了root密码不能进入系统 -红帽官方文档
- 解决centOS上数据库插入中文显示???的问题