/etc/sysconfig/clock

        该配置文件可用来设置用户选择何种方式显示时间。如果硬件时钟为本地时间,则UTC设为0,并且不用设置环境变量TZ。如果硬件时钟为UTC时间,则要设置UTC为1,并设置环境变量TZ(或配置文件/etc/TZ)为时区信息,如“Asia/Shanghai”。
 
hwclock
查看硬件时钟:
[byeyear@cnblogs.com]$ hwclock –r
 
/etc/localtime
        Linux的系统时区是通过符号连接/etc/localtime来得到的。可以通过tzset命令来设置时区,也可以通过命令“ln –s /etc/localtime /usr/share/zoneinfo/Asia/Shanghai”来将时区设置为亚洲的上海。
或直接执行 cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
 
如果只是通过NTP服务器同步系统时间,可以使用命令ntpdate。Ntpdate用到的库包括:libcap.so.1 => /lib/libcap.so.1、libc.so.6 => /lib/tls/libc.so.6、/lib/ld-linux.so.2。
 
查看当前时区

date –R

busybox的ntpd

ntpd  -p ntp_server_addr -qNn

hwclock –w

ntpd vs ntpdate

ntpdate直接调整时间到指定server。

ntpd一方面将自己作为server响应下级请求,另一方面逐步调整本机时间以对齐上级服务器时间,因此ntpd既是client又是server。

另有一个ntpclient程序可作为轻量级的ntp client使用。

jiffies变量:unsigned long 型变量,要么与jiffies_64相同,要么取其低32位。

比较缓存值与当前值:

#include<linux/jiffies.h>

int time_after(unsigned long a,unsigned long b);

int time_before(unsigned long a,unsigned long b);

int time_after_eq(unsigned long a,unsigned long b);

int time _before_eq(unsigned long a,unsigned long b);

如果需要精度很高的计时:

x86上可以使用TSC:

<asm/msr.h>

// Architecture dependent

rdtsc(low32,high32);

rdtscl(low32);

rdtscll(var64);

一个与体系结构无关的函数:

<linux/timex.h>

cycles_t get_cycles(void);

在不支持的平台上返回0。

除了do_gettimeofday,还有一个函数可以获取绝对时间:

struct timespec current_kernel_time(void);

(?区别?)

以上两个函数在ARM平台都是通过 xtime 变量得到数据的。

adjtimex

一般情况下,linux仅在启动时读下RTC,然后就用system ticks跑时钟了。

氮素,RTC和用system ticks跑出来的时钟之间肯定是有偏差的,adjtimex可以计算出这个偏差是多少,并告诉内核该用怎样的参数去调整。

有两个man page和adjtimex相关:

man 2 adjtimex    # 这个是syscall 的adjtimex

man 8 adjtimex    # 这个是sys util的adjtimex

注意一下timex::freq的设置:

if(timex::mode == ADJ_FREQUENCY)
{
// 当前时钟频率低,需要提高:freq为正
// 当前时钟频率高,需要降低:freq为负
}

linux时间管理的更多相关文章

  1. Linux时间管理涉及数据结构和传统低分辨率时钟的实现

    上篇文章大致描述了Linux时间管理的基本情况,看了一些大牛们的博客感觉自己写的内容很匮乏,但是没办法,只能通过这种方式提升自己……闲话不说,本节介绍下时间管理下重要的数据结构 设备相关数据结构 // ...

  2. linux 时间管理——概念、注意点(一)【转】

    转自:http://www.cnblogs.com/openix/p/3324243.html 参考:1.http://bbs.eyeler.com/thread-69-1-1.html        ...

  3. linux时间管理 之 jiffies

    1.jiffies 又称时钟滴答,是一个全局变量,它的值在系统引导的时候初始化为0,在时钟中断初始化完成后,每次时钟中断发生,在时钟中断处理例程中都会将jiffies的值 +1. jiffies_64 ...

  4. linux设备驱动归纳总结(七):1.时间管理与内核延时【转】

    本文转载自:http://blog.chinaunix.net/uid-25014876-id-100005.html linux设备驱动归纳总结(七):1.时间管理与内核延时 xxxxxxxxxxx ...

  5. 《Linux内核设计与实现》读书笔记(十一)- 定时器和时间管理【转】

    转自:http://www.cnblogs.com/wang_yb/archive/2013/05/10/3070373.html 系统中有很多与时间相关的程序(比如定期执行的任务,某一时间执行的任务 ...

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

    对于想学习 Linux 的初学者来说要适应使用命令行或者终端可能非常困难.由于终端比图形用户界面程序更能帮助用户控制 Linux 系统,我们必须习惯在终端中运行命令.因此为了有效记忆 Linux 不同 ...

  7. Linux内核——定时器和时间管理

    定时器和时间管理 系统定时器是一种可编程硬件芯片.它能以固定频率产生中断.该中断就是所谓的定时器中断.它所相应的中断处理程序负责更新系统时间,还负责执行须要周期性执行的任务. 系统定时器和时钟中断处理 ...

  8. Linux用户管理的复习时间

    所谓三天不练手生,你还记得关于Linux用户管理的所有知识吗?现在就来跟我一起复习一下吧! 1.常用配置文件 用户信息文件: /etc/password 密码文件: /etc/shadow 用户组文件 ...

  9. Linux内核入门到放弃-时间管理-《深入Linux内核架构》笔记

    低分辨率定时器的实现 定时器激活与进程统计 IA-32将timer_interrupt注册为中断处理程序,而AMD64使用的是timer_event_interrupt.这两个函数都通过调用所谓的全局 ...

随机推荐

  1. Intellij IDEA 创建Web项目并在Tomcat中部署运行

      一.创建Web项目 1.File -> New Module,进入创建项目窗口 2.选择Java类型,在 Module name 处输入项目名,点击Next 3.勾选 Web Applica ...

  2. 软件工程课程作业(二)--四则运算2改进版(c++)

    题目要求: 1.避免题目重复 2.可定制(数量/打印方式) 3.可以控制下列参数 (1)是否有乘除法 (2)是否有括号 (3)数值范围 (4)加减有无负数 (5)除法有无余数 关键设计思想: oper ...

  3. js部分---类型,变量;

    <script type="text/javascript">1.注释:用“//或者/**/”2.数据类型: (1)整型 int (2)小数类型 单精度float 双精 ...

  4. shell脚本处理大数据系列之(一)方法小结

    转自:http://longriver.me/?p=57 方法1: 单进程处理大规模的文件速度如(上million量级)比较慢,可以采用awk取模的方法,将文件分而治之,这样可以利用充分的利用多核CP ...

  5. 要将serviceLocator注入到任何类中

    如果想要在任何类中都用到zf2的serviceLocator, 在类中实现serviceLocatorAwareInterface,然后getServiceConfig 方法中注册成服务即可直接使用该 ...

  6. Python学习(4)——for语句

    Python中range()函数的用法 >>> range(5) [0, 1, 2, 3, 4] >>> range(0,5) [0, 1, 2, 3, 4] &g ...

  7. UVALive4287 hdu2767 hdu3836 强连通

    题意:有多个命题,需要证明他们可以互相推出,现在已经有一些证明关系即 A 可以证明 B,问至少还需要多少证明关系. 首先,如果某几个命题证明关系可以成环,那么这些命题必然可以相互证明,只要沿着环的边走 ...

  8. poj2912 带权并查集

    题意:多个人玩石头剪刀布,每个人提前选定了自己出哪个手势,而其中有一种特殊的人他可以随意出什么手势,问是否能够从给出的一系列石头剪刀布游戏中判断出哪个是特殊的,可以从第几局游戏中判断出来. 首先按照食 ...

  9. Tyvj 9.10 总结 (其实只是发一下心情)

    原以为能拿200的,然而看到成绩彻底方了,60滚粗,连100都不到 这种成绩连一等都拿不到,我tm还谈什么省选,更别说NOI了 目前还没有部分分版本的,也没有数据,不知道问题出在哪里 tyvj群里好多 ...

  10. 【POJ3904】【P1202】水晶密码

    说是莫比乌斯反演,其实只是玩儿玩儿内个miu函数而已…… 原题: wty  打算攻击 applepi  的用来存放机密数据的水晶系统. applepi 早有察觉,于是布置了一个密码系统来防备 wty ...