linux(3)——时间

来源:互联网 发布:单片机中的晶振电路 编辑:程序博客网 时间:2024/05/18 02:09
1、GMT时间
GMT是格林尼治地区当地时间,作为全球国际时间,用以描述全球性事件的时间,方便大家记忆。

2、UTC时间
UTC时间近年来用的更多,称为通用协调时。
UTC + 时区差 = 本地时间
时区差东为正,西为负、

3、点时间和段时间
段时间 = 点时间 - 点时间
定时器(timer)定的时间就是段时间,实时时钟(RTC)是和点时间有关的一个器件。

4、jiffies
jiffies是linux内核中的一个全局变量,用来记录以内核的节拍时间为单位时间长度的一个数值。jiffies变量在开机时有一个基准值,内核没过一个节拍时间jiffies就会加1。距离开机过去了多长时间就由jiffies当前大小减去基准值乘以节拍时间。

5、linux系统如何记录时间
内核在开机启动的时候回读取RTC硬件获取一个时间作为初始基准时间,对应一个jiffies值。
(基准时间换算成jiffies值的方法:基准时间减去1970-01-01 00:00:00 + 0000(UTC),再把这个时间段换算成jiffies数值)这个jiffies值作为开机时的基准jiffies值存在,系统运行时每个时钟节拍的末尾都会给jiffies这个全局变量加1,因此操作系统通过jiffies记录下来了当前的时间。当需要当前的时间点时,使用jiffies去去计算。(计算方法:先把jiffies值对应的时间段算出来,再加上1970-01-01 00:00:00 + 0000(UTC),即可得到时间点。)
RTC真正作用是在开机的时候进行时间的保存。
一个节拍时间的时间取决于操作系统的配置。现在linux系统一般是10ms或者1ms。这个时间是调度时间,在内核中用HZ来记录和表示。时钟节拍是1/HZ。
原创粉丝点击