365bet投注官网

当前位置:主页 > 365bet投注官网 >

表示当前时间的内核数据结构。

时间:2019-02-07 03:58 作者:admin 点击:

作为类UNIX操作系统,Linux内核显然使用本节开头描述的第三种方法来表示系统的当前时间。
Linux内核使用三个重要的数据结构来表示系统的当前时间。1个全局变量jiffies:这是一个32位无符号整数,表示自上次启动内核以来的时钟数。
每次生成时钟标志时,内核的时钟中断处理程序timer_interrupt()会将全局变量的jiffy增加1。
该变量由内核/计时器定义。
如下图所示,源文件c。unsignedlong volatilejiffies。C volatile语言限定符意味着jiff是一个易于更改的变量。因此,编译器永远不会通过CPU的内部缓存访问变量。
2全局变量xtime:timeval结构变量,用于指示从时基UNIX 1970-01-0100:00:00开始的当前时间的第二个相对值。
body timeval结构表示Linux内核格式的时间(Linux内核具有多种时间表示格式,每种格式具有不同的时间精度),时间精度为微秒。
此结构是内核用于表示时间的最常见形式。这在include / linux / time头文件中定义。
h,如下所示。structtimeval{time_ttv_sec; / *秒* / Suseconds_ttv_usec; ?? / *微秒* /};其中成员tv_sec表示从UNIX时间的基础上,该构件tv_usec的值在2秒以内微秒的当前时间代表,1000000> tv_usec> = 0。
Linux内核使用内核/计时器中定义的临时结构类型的全局变量xtime来管理当前时间。
/ * * Thetimetime / volatilestructtimevalxtime__attribute __((对准(16));.然而,由全局变量xtime的通常管理的当前时间是用于用户获取并配置为使用它(其他内核模块用的最多的jiffies)下去,因为它不是一个紧迫的工作,以更新xtime的,这项工作通常是在延迟时钟中断(中间下部)的下半部分。
由于下面的执行时间的一半是不确定的,要记住当内核最后更新,Linux内核,类似于全球和jiffies的用于存储的jiffies值,当内核最后更新定义变量wall_jiffies。
每次xtime更新时,时钟中断的下半部分将wall_jiffies更新为当前的jiffies值。
全局变量wall_jiffies在内核/计时器中定义。
c文件:/ jiffiesat墙的最后更新日期* / unsignedlongwall_jiffies; 3全局变量sys_tz:时区结构类型的全局变量,显示系统的当前时区信息。
时区结构类型在include / linux / time中定义。
头文件h如下。structtimezone{inttz_minuteswest; / * minuteswestofGreenwich * / inttz_dsttime; / * typeofdstcorrection * /};根据以前的结构中,Linux是位于核心/时间。
变量c定义全局变量sys_tz,以指示系统的当前时区信息,如下所示:structtimezonesys_tz;