zoukankan      html  css  js  c++  java
  • 深入理解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、检查每个软定时器的时间间隔是否已经达到。

  • 相关阅读:
    php foreach的使用注意
    php数组遍历 使用foreach
    PHP strip_tags() 函数
    php nl2br() 函数
    php文件上传
    一个网站雏形
    jsp接收相同复合参数 request.getParameterValues()用法
    使用div+css制作简单导航 以及要注意问题
    Java 类与对象
    java 基础
  • 原文地址:https://www.cnblogs.com/lipeil/p/4676288.html
Copyright © 2011-2022 走看看