• Linux内核定时器


    <背景>

    a:Linux中,时钟又分为实时时钟和系统时钟。
        实时时钟(硬件时钟):
    实时时钟的主要作用是提供计时和产生精确的时钟中断。实时时钟是用来持久存放系统时间的设备,即便系统关闭后,它也可以靠主板上的微型电池提供的电力保持系统的计时。
     
        系统时钟(软时钟):
        (1)保证系统时间的准确性。
        (2)防止进程超额使用CPU
        (3)记录CPU和资源消耗的时间
    系统时钟的初始值在系统启动时,通过读取硬件时钟获得,然后由Linux内核来维护。在系统运行中,系统时钟的更新是根据系统启动后的时钟滴答数来更新的。
     
     
    <HZ和jiffies>
    <>"HZ"计算机中的时钟频率都来自于晶振,晶振的频率很高,使用计数器计数,调整初始值,使得计数器每秒钟产生HZ中断。</>
    <>"jiffies"时钟每产生一次中断就加一.</>
    <>对于HZ为100的系统,1个jiffes等于10ms(1/100*1000.1s = 1000ms).同理对于HZ为1000的系统,1jiffes仅仅为1ms</>
    </HZ和jiffies>
     
    <长延时和短延时>
        <>对于一般系统而言,以大于jiffes作为单位的是长延时,以小于jiffes的称为短延时</>
    </长延时和短延时>
     
    <相关函数>
    a:time_after()的功能主要是将目前的jiffies值和请求的超时时间对比,检测移除。类似函数还包括time_before(),time_before_eq().

    <wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">

  • 相关阅读:
    博客园的Windows Mobile开发专栏
    使大脑迟钝的9种不良习惯
    javascript中实现QueryString的function
    DeviceIoControl实现异步的方法总结
    List of Scientist`s Names
    制版经验谈
    AVRUSB技术探讨(转)
    unexpected WaitForXfer() behavior
    openMP讨论帖
    全角半角SBCDBC
  • 原文地址:https://www.cnblogs.com/big-devil/p/8589966.html
Copyright © 2020-2023  润新知