Linux 不同时钟的区别

在Linux内核中,我们可以发现主要有这么几种不同类型的时钟(clock):

CLOCK_REALTIME
CLOCK_MONOTONIC
CLOCK_MONOTONIC_RAW
CLOCK_BOOTTIME

CLOCK_REALTIME,可以理解为wall time,即是实际的时间。用户可以使用命令(date)或是系统调用去修改。如果使用了NTP, 也会被NTP修改。当系统休眠(suspend)时,仍然会运行的(系统恢复时,kernel去作补偿)。

CLOCK_MONTONIC,是单调时间,即从某个时间点开始到现在过去的时间。用户不能修改这个时间,但是当系统进入休眠(suspend)时,CLOCK_MONOTONIC是不会增加的。

CLOCK_MONOTONIC_RAW,和CLOCK_MONOTONIC类似,但不同之处是MONOTONIC_RAW不会受到NTP的影响。CLOCK_MONOTONIC会受到NTP的影响并不是说NTP会去修改CLOCK_MONOTONIC,使其不连续,而是说当NTP server 和本地的时钟硬件之间有问题,NTP会影响到CLOCK_MONOTONIC的频率,但是MONOTONIC_RAW则不会受其影响。 其区别可以参考 Difference between MONOTONIC and MONOTONIC_RAW

CLOCK_BOOTTIME,与CLOCK_MONOTONIC类似,但是当suspend时,会依然增加。可以参考LWN的这篇文章 introduce CLOCK_BOOTTIME

时间: 2024-10-26 00:26:28

Linux 不同时钟的区别的相关文章

linux 和unix 的区别

Linux与Unix的区别  某些PC机的Unix和Linux在实现方面相类似.几乎所有的商业Unix版本都基本支持同样的软件.程序设计环境和网络特性.然而,Linux和Unix的商业版本依然存在许多差别.  Linux支持的硬件范围和商业Unix不一样.一般来说,商业Unix支持的硬件多一些,可是Linux支持的硬件也在不断扩大. 突出的是,Linux至少和商用Unix一样稳定.  对许多用户来说,最重要的因素是价格.Linux是免费软件,用户可以从Internet网上下载.如果上网不方便,可

windows和linux换行规则的区别

在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符.但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符.要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失. 于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表示结束的字符.一个叫做"回车"(Carriage Return),告诉打字机把打印头定位在左边界:另一个叫做"换行"(Linefeed),告诉打字机把纸向

linux 通用时钟框架CCF

linux 通用时钟框架CCF 简介 这里讲的时钟是给soc各组件提供时钟的树状框架,并不是内核使用的时间,和其他模块一样,clk也有框架,用以适配不同的平台.适配层之上是客户代码和接口,也就是各模块(如需要时钟信号的外设,usb等)的驱动.适配层之下是具体的soc平台的时钟操作细节. 内核中另外一个具有类似树状框架特点的是regulator框架.对比regulator框架,clk框架不确定性更大,内核中仅仅提供了少数的适配规范,struct clk都是各平台自己的clk驱动实现.       

linux 实时时钟(RTC)驱动【转】

本文转载自:http://blog.csdn.net/yaozhenguo2006/article/details/6820218 这个是linux内核文档关于rtc实时时钟部分的说明,此文档主要描述了rtc实时时钟的作用和编程接口,分别介绍了老的rtc接口和新的rtc类架构.并给出了一个测试rtc驱动的程序.     linux 实时时钟(RTC)驱动                                                                        

Linux输出重定向>和>>区别

Linux输出重定向>和>>区别如下: >: 会重写文件,如果文件里面有内容会覆盖. >>这个是将输出内容追加到目标文件中.如果文件不存在,就创建文件. >>:追加文件,也就是如果文件里面有内容会把新内容追加到文件尾. >   是定向输出到文件,如果文件不存在,就创建文件:如果文件存在,就将其清空.一般我们备份清理日志文件的时候,就是这种方法:先备份日志,再用`>`,将日志文件清空(文件大小变成0字节). 原文地址:https://www.cnb

linux 时钟源初步分析linux kernel 时钟框架详细介绍

初步概念: 看datasheet的关于时钟与定时器的部分, FCLK供给cpu, HCLK供给AHB总线设备(存储器控制器,中断控制器.LCD控制器.DMA.USB主机控制器等), PCLK供给APB总线上的设备(watchdog.IIS.i2c. pwm.定时器.ADC.uart.gpio.rtc.spi) 上电时 fclk的时钟等于外部时钟fin, 然后等待LOCKTIME后, 依照MPLLCON寄存器的设置,倍频到高频. UPLLCON专用于USB同于MPLLCON. 关于分频: CLKD

Linux 系统时钟

介绍 计算机中的很多程序都依靠精确的时间来正常工作, 比如一个脚本如何在指定的时间执行. 计算机有两个时钟,一个是始终运行的.由电池(CMOS)供电的硬件时钟,另一个是由运行在您的计算机上的操作系统维护的系统时钟(又称软件时钟).启动时,内核会把硬件时钟同步至系统时钟,之后两个时钟各自独立运行. 硬件时钟通常只在操作系统启动时用来设置系统时钟,系统时钟设置好后由系统时钟来记录时间.在Linux系统中,您可以选择用UTC/GMT 时间或本地时间来记录硬件时钟.推荐的选项是用UTC记录,因为可以自动

linux下时钟及时间同步机制

linux有两个时钟:系统时钟和硬件时钟 硬件时钟:hwclock    显示硬件时钟 系统时钟:data只修改系统时间 hwclock --help -s    硬件设为系统 -w    系统设为硬件 ntp:Network Time Protocol ntpdate --help ntpdate 127.0.0.1

Windows Socket和Linux Socket编程的区别 ZZ

socket相关程序从Windows移植到Linux下需要注意的: 1)头文件 Windows下winsock.h/winsock2.h Linux下sys/socket.h 错误处理:errno.h 2)初始化 Windows下需要用WSAStartup Linux下不需要 3)关闭socket Windows下closesocket(...) Linux下close(...) 4)类型 Windows下SOCKET Linux下int 如我用到的一些宏: #ifdef WIN32 typed