(2)表示时间的单位和结构
来源:互联网 发布:程序员接私活平台 编辑:程序博客网 时间:2024/05/16 15:18
人们习惯用于表示时间的方法是:年、月、日、时、分、秒、毫秒、星期等等,但是在内核中,为了软件逻辑和代码的方便性,它使用了一些不同的时间表示方法,并为这些表示方法定义了相应的变量和数据结构,本节的内容就是阐述这些表示方法的意义和区别。
/*****************************************************************************************************/
声明:本博内容均由http://blog.csdn.net/droidphone原创,转载请注明出处,谢谢!/*****************************************************************************************************/
1. jiffies
内核用jiffies变量记录系统启动以来经过的时钟滴答数,它的声明如下:
可见,在32位的系统上,jiffies是一个32位的无符号数,系统每过1/HZ秒,jiffies的值就会加1,最终该变量可能会溢出,所以内核同时又定义了一个64位的变量jiffies_64,链接的脚本保证jiffies变量和jiffies_64变量的内存地址是相同的,通常,我们可以直接访问jiffies变量,但是要获得jiffies_64变量,必须通过辅助函数get_jiffies_64来实现。jiffies是内核的低精度定时器的计时单位,所以内核配置的HZ数决定了低精度定时器的精度,如果HZ数被设定为1000,那么,低精度定时器(timer_list)的精度就是1ms=1/1000秒。因为jiffies变量可能存在溢出的问题,所以在用基于jiffies进行比较时,应该使用以下辅助宏来实现:同时,内核还提供了一些辅助函数用于jiffies和毫秒以及纳秒之间的转换:
2. struct timeval
timeval由秒和微秒组成,它的定义如下:
和__kernel_suseconds_t 实际上都是long型的整数。gettimeofday和settimeofday使用timeval作为时间单位。
__kernel_time_t3. struct timespec
timespec由秒和纳秒组成,它的定义如下:
同样地,内核也提供了一些辅助函数用于jiffies、timeval、timespec之间的转换:
timekeeper中的xtime字段用timespec作为时间单位。
4. struct ktime
linux的通用时间架构用ktime来表示时间,为了兼容32位和64位以及big-little endian系统,ktime结构被定义如下:
64位的系统可以直接访问tv64字段,单位是纳秒,32位的系统则被拆分为两个字段:sec和nsec,并且照顾了大小端的不同。高精度定时器通常用ktime作为计时单位。下面是一些辅助函数用于计算和转换:
阅读全文
0 0
- (2)表示时间的单位和结构
- Linux时间子系统之二:表示时间的单位和结构
- Linux时间子系统之二:表示时间的单位和结构
- Linux时间子系统之二:表示时间的单位和结构
- Linux时间子系统之二:表示时间的单位和结构 .
- Linux时间子系统之二:表示时间的单位和结构
- Linux时间子系统之二:表示时间的单位和结构
- Linux时间子系统之二:表示时间的单位和结构
- Linux时间子系统之二:表示时间的单位和结构
- Linux时间子系统之二:表示时间的单位和结构
- Linux时间子系统之二:表示时间的单位和结构
- Linux时间子系统之二:表示时间的单位和结构
- Linux中表示“时间”的结构体和相关函数
- Linux中表示“时间”的结构体和相关函数
- Linux中表示“时间”的结构体和相关函数
- Linux中表示“时间”的结构体和相关函数
- Linux中表示“时间”的结构体和相关函数
- Linux中表示“时间”的结构体和相关函数
- 未安装任何音频输出设备 解决方案
- http|x-www-form-urlencoded添加数组数据数据问题
- 结构体、结构体体指针作为函数返回值
- STM32之GPIO并行输入输出数据编程技巧
- const修饰的变量
- (2)表示时间的单位和结构
- ubuntu opencv多版本切换
- BZOJ 1484: [HNOI2009]通往城堡之路
- 1105 过河
- HoloToolKit 00-介绍 将项目部署到设备
- (3)时间的维护者:timekeeper
- leetcode之Median of Two Sorted Arrays问题
- XmlParser: 简易的 Xml 解析器的实现(一)
- 【开源】一个基于智能问答的聊天机器人实现