linux中时间精度的获取问题【转】

转自:http://www.xuebuyuan.com/877633.html

 

目前项目需要,需要对时间进行基准,基准的精度在微秒。下午老刘给我说不能用do_gettimeofday因为他的精度虽然可以到微秒但是是依靠jiffies的精度(在linux 2.6.27内核中这个jiffies的单位是1毫秒)来更新这个时间值的,晚上回来就试试。结果呵呵,原来是可以精确到微秒并且不是靠jiffies的精度来更新的。

代码如下了。

 

#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/time.h>
MODULE_LICENSE("GPL");
MODULE_AUTHOR("silence1214");
// gloable variable declare
/// time struct
struct timeval tl;
//function declare
void time_frequent_test(void);
// initialize the kernel module
int init_module(void)
{
printk(KERN_INFO "enter into the kernel.../n");
time_frequent_test();
return 0;
}
// clean up the kernel module
void cleanup_module(void)
{
printk(KERN_INFO "away from the kernel .../n");
}
void time_frequent_test(void)
{
do_gettimeofday(&tl);
printk(KERN_INFO "jiffies=%lu, sec=%lu, usec=%lu/n", jiffies, tl.tv_sec, tl.tv_usec);
do_gettimeofday(&tl);
printk(KERN_INFO "jiffies=%lu, sec=%lu, usec=%lu/n", jiffies, tl.tv_sec, tl.tv_usec);
do_gettimeofday(&tl);
printk(KERN_INFO "jiffies=%lu, sec=%lu, usec=%lu/n", jiffies, tl.tv_sec, tl.tv_usec);
}

时间: 2024-10-02 12:30:46

linux中时间精度的获取问题【转】的相关文章

linux中时间函数

linux下常用时间类型有四种: time_t . struct   tm. struct  timeval .    struct   timespec 1.time_t   时间函数 time_t  类型在time.h中定义: #ifndef   __TIME__T #define  __TIME_T typedef    long  time_t #endif 可见, time_t 实际上是一个长整型,其值表示从1970年1月1日00时00分00秒(linux系统的Epoch时间)到当前时

linux中shell curl命令获取http状态码

通过curl的-w参数我们可以自定义curl的输出,%{http_code}代表http状态码  代码如下 复制代码 # curl -I -m 10 -o /dev/null -s -w %{http_code}  www.111cn.net 上面的输出是不含换行的,如果需要换行的话,加上\n  代码如下 复制代码 # curl -I -m 10 -o /dev/null -s -w %{http_code}  www.111cn.net 200# curl -I -m 10 -o /dev/n

浅析Linux中的时间编程和实现原理(一) Linux应用层的时间编程

引子 我们都生活在时间中,但却无法去思考它.什么是时间呢?似乎这是一个永远也不能被回答的问题.然而作为一个程序员,在工作中,总有那么几次我必须思考什么是时间.比如,需要知道一段代码运行了多久:要在 log 文件中记录事件发生时的时间戳:再比如需要一个定时器以便能够定期做某些计算机操作.我发现,在计算机世界中,时间在不同场合也往往有不同的含义,让试图思考它的人感到迷茫.但值得庆幸的是,Linux 中的时间终究是可以理解的.因此我打算讨论一下有关时间的话题,尝试着深入理解 Linux 系统中 C 语

如何获取Linux中某个命令的源代码

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://dgd2010.blog.51cto.com/1539422/1639605 一句话概括:用apt-get source package_name的方式获取源代码. 学习Linux下系统编程最好的参考例子就是Linux中已有的源代码(源码),比如想实现一个跟ls命令相同功能的程序可以参考ls的源码的内容.在这样的基础上,用户可以开发出自己的实用程序来代替系统中原有的程序,这听起来

5 个在 Linux 中管理文件类型和系统时间的有用命令

对于想学习 Linux 的初学者来说要适应使用命令行或者终端可能非常困难.由于终端比图形用户界面程序更能帮助用户控制 Linux 系统,我们必须习惯在终端中运行命令.因此为了有效记忆 Linux 不同的命令,你应该每天使用终端并明白怎样将命令和不同选项以及参数一同使用. 在 Linux 中管理文件类型和设置时间 请先查看我们 Linux 小技巧系列之前的文章: 5 个有趣的 Linux 命令行技巧 给新手的 10 个有用 Linux 命令行技巧 在这篇文章中,我们打算看看终端中 5 个和文件以及

ubuntu-ffmpeg 截取图片的时间对应于原来视频中的时间点如何获取

问题描述 ffmpeg 截取图片的时间对应于原来视频中的时间点如何获取 问题是这样的:我在ubuntu环境下,使用ffmpeg的命令行来截取图片,命令采用如下方式: ffmpeg -i yourVideo.mp4 -vf select='eq(pict_type,I)' -vsync 2 -s 160x90 -f image2 %d.jpeg 以上命令虽然能截取视频中的帧并保存为图片,并且通过命令参数: -f image2 test%d.jpeg 指定了截取的图片是按照数字累加的方式命名的,即:

Linux中自动同步世界时间的方法介绍

微软公司授时主机(美国) time.windows.com 台警大授时中心(台湾) asia.pool.ntp.org 中科院授时中心(西安) 210.72.145.44 网通授时中心(北京) 219.158.14.130 Linux下的时间同步命令 ntpdate asia.pool.ntp.org 把时间写入BIOS命令 hwclock [-rw] -r:查看现有BIOS时间 -w:将现在的linux系统时间写入BIOS中 当我们进行完 Linux 时间的校时后,还需要以 hwclock -

Windows与Linux中生成以当前时间命名的文件

Linux中我们只要使用Shell 脚本即可实例:  代码如下 复制代码 #!/bin/sh echo test >> $(date -d "today" +"%Y%m%d_%H%M%S").txt 成日期格式的文件 ? LINUX/UNIX上,使用`date +%y%m%d` (`这个是键盘上~所在的那个键) 或$(date +%y%m%d), 如:  代码如下 复制代码 touch exp_table_name_`date +%y%m%d`.dmp

linux中与时间处理相关的函数

  最近在查关于Linux下时间编程的问题:        1. Linux下与时间有关的结构体         struct timeval        {              int tv_sec;              int tv_usec;          };          其中tv_sec是由凌晨开始算起的秒数,tv_usec则是微秒(10E-6 second).          struct timezone        {              int