• 深入理解Linux内核-定时测量


    定时测量:由基于固定频率振荡器和计数器的几个硬件电路完成的。



    记时体系概貌:

    内核中与时间相关的任务:



    硬件设备:
    实时时钟(RTC):1、Real Time Clock ,独立于CPU和所有芯片,每个PC都有。
             2、它有专门的电池,不受PC电源断电影响。
             3、能在IRQ8上门发周期性的中断,频率为2-8192Hz
    4、可编程

    时间戳计数器(TSC):1、Time Stamp Counter 收到时钟信号加一
    2、时钟信号的频率,如果是1GHz,时间戳计数器美纳秒加一。

    可编程间隔定时器(PIT):1、Programmable Interval Timer
    2、通常是使用0x40~0x43 I/O端口的一个8354CMOS芯片
    3、通过发出 时钟中断来通知内核又一个时间间隔过去了。
    4、永远以固定对频率发送中断
            
    CPU本地定时器:有APIC提供,APIC(32bit),PIC(16bit);可以对本地定时器编程产生很低频率的中断
            本地APIC定时器把中断只发送给自己的处理器,而PIT产生全局性中断,任何CPU都可以对其进行处理。
            APIC定时器基于时钟信号;PIT基于内部时钟振荡。

    高精度事件定时器(HPET):

    Linux 记时体系结构:

    内核会周期性的执行与定时 相关的操作:
      1、更新自系统启动以来所经过的时间
      2、更新时间和日期
      3、确定当前进程在每个CPU上面已经运行了多长时间,如果超过了分配给他的时间片,则抢占它。
      4、更新系统资源使用统计数
      5、检查每个软定时器的时间间隔是否已经达到。

  • 相关阅读:
    Android 下压缩图片—微弱失真
    android中ViewHolder通用简洁写法
    Android裁剪固定大小头像的功能
    Android进度加载的Loading效果
    GitHub开源项目总结
    Android 实现emoji表情的demo
    vim 高级使用技巧第二篇
    android apk 防止反编译技术第一篇-加壳技术
    Android Metro风格的Launcher开发系列第二篇
    FFMPEG高级编程第一篇:环境搭建及编译
  • 原文地址:https://www.cnblogs.com/lipeil/p/4676288.html
Copyright © 2020-2023  润新知